\ No newline at end of file
diff --git a/portal-ui/build/static/js/6686.01ae5612.chunk.js b/portal-ui/build/static/js/6686.01ae5612.chunk.js
deleted file mode 100644
index c1bd19041..000000000
--- a/portal-ui/build/static/js/6686.01ae5612.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[6686],{86686:(e,t,o)=>{o.r(t),o.d(t,{default:()=>_});var n=o(72791),i=o(29945),a=o(78687),r=o(57689),l=o(31776),s=o(82342),c=o(16444),d=o(26181),p=o.n(d),u=o(61757),m=o(23814),g=o(56087),h=o(87995),f=o(44690),y=o(53669),b=o(59114),v=o(23508),S=o(80184);const T=e=>{let{onConfirm:t,onClose:o,serviceName:a,status:r}=e;return(0,S.jsx)(v.Z,{title:"Delete Endpoint",confirmText:"Delete",isOpen:!0,titleIcon:(0,S.jsx)(i.EjK,{}),isLoading:!1,onConfirm:t,onClose:o,confirmationContent:(0,S.jsxs)(n.Fragment,{children:["Are you sure you want to delete the event destination ?",(0,S.jsx)("br",{}),(0,S.jsx)("b",{children:a})," which is ",(0,S.jsx)("b",{children:r})]})})};var x=o(27454);const k=c.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center","& svg":{width:16,marginRight:5,fill:p()(t,"signalColors.good","#4CCB92")},"& svg.offline":{fill:p()(t,"signalColors.danger","#C51B3F")}}})),_=()=>{const e=(0,f.TL)(),t=(0,r.s0)(),o=(0,a.v9)((e=>e.destination.loading)),[c,d]=(0,n.useState)([]),[p,v]=(0,n.useState)(""),[_,E]=(0,n.useState)(!1),[A,j]=(0,n.useState)();(0,n.useEffect)((()=>{if(o){(()=>{l.h.admin.notificationEndpointList().then((t=>{let o=[];t.data.notification_endpoints&&(o=t.data.notification_endpoints),d((0,u.fk)(o)),e((0,y.iP)(!1))})).catch((t=>{e((0,h.Ih)((0,s.g)(t.error))),e((0,y.iP)(!1))}))})()}}),[o,e]),(0,n.useEffect)((()=>{e((0,y.iP)(!0))}),[e]);const C=[{type:"delete",onClick:e=>{j(e),E(!0)}}],L=c.filter((e=>""===p||e.service_name.indexOf(p)>=0));return(0,S.jsx)(n.Fragment,{children:(0,S.jsxs)(i.Xgh,{children:[(0,S.jsxs)(i.rjZ,{item:!0,xs:12,sx:m.OR.actionsTray,children:[(0,S.jsx)(b.Z,{placeholder:"Search target",onChange:v,value:p,sx:{maxWidth:380}}),(0,S.jsxs)(i.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:5},children:[(0,S.jsx)(x.Z,{tooltip:"Refresh List",children:(0,S.jsx)(i.zxk,{id:"reload-event-destinations",label:"Refresh",variant:"regular",icon:(0,S.jsx)(i.DuK,{}),onClick:()=>{e((0,y.iP)(!0))}})}),(0,S.jsx)(x.Z,{tooltip:"Add Event Destination",children:(0,S.jsx)(i.zxk,{id:"add-notification-target",label:"Add Event Destination",variant:"callAction",icon:(0,S.jsx)(i.dtP,{}),onClick:()=>{t(g.gA.EVENT_DESTINATIONS_ADD)}})})]})]}),o&&(0,S.jsx)(i.kod,{}),!o&&(0,S.jsxs)(n.Fragment,{children:[c.length>0&&(0,S.jsxs)(n.Fragment,{children:[(0,S.jsx)(i.xuv,{sx:{width:"100%"},children:(0,S.jsx)(i.wQF,{itemActions:C,columns:[{label:"Status",elementKey:"status",renderFunction:e=>(0,S.jsxs)(k,{children:[(0,S.jsx)(i.J$M,{className:"Offline"===e?"offline":""}),e]}),width:150},{label:"Service",elementKey:"service_name"}],isLoading:o,records:L,entityName:"Event Destinations",idField:"service_name",customPaperHeight:"400px"})}),(0,S.jsx)(i.rjZ,{item:!0,xs:12,sx:{marginTop:15},children:(0,S.jsx)(i.KfX,{title:"Event Destinations",iconComponent:(0,S.jsx)(i.cCG,{}),help:(0,S.jsxs)(n.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"You can learn more at our"," ",(0,S.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noopener",children:"documentation"}),"."]})})})]}),0===c.length&&(0,S.jsx)(i.rjZ,{container:!0,sx:{justifyContent:"center",alignContent:"center",alignItems:"center"},children:(0,S.jsx)(i.rjZ,{item:!0,xs:8,children:(0,S.jsx)(i.KfX,{title:"Event Destinations",iconComponent:(0,S.jsx)(i.cCG,{}),help:(0,S.jsxs)(n.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"To get started,"," ",(0,S.jsx)(i.vmT,{onClick:()=>{t(g.gA.EVENT_DESTINATIONS_ADD)},children:"Add an Event Destination"}),"."]})})})})]}),_?(0,S.jsx)(T,{onConfirm:()=>{(t=>{if(null!==t&&void 0!==t&&t.name){const o=(0,u.L)(t.name);let n=":".concat(t.account_id);o?l.h.configs.resetConfig("".concat(o).concat(n)).then((()=>{e((0,h.cN)(!0)),j(null),E(!1),e((0,y.iP)(!0))})).catch((t=>{E(!1),e((0,h.Ih)((0,s.g)(t.error)))})):(j(null),E(!1),console.log("Unable to find Config key for ".concat(t.name)))}})(A)},status:"".concat(null===A||void 0===A?void 0:A.status),serviceName:"".concat(null===A||void 0===A?void 0:A.service_name),onClose:()=>{E(!1)}}):null]})})}},61757:(e,t,o)=>{o.d(t,{BI:()=>h,DD:()=>y,L:()=>S,dM:()=>i,ee:()=>n,fk:()=>m,oj:()=>b,z5:()=>g});const n="notify_postgres",i="notify_mysql",a="notify_kafka",r="notify_amqp",l="notify_mqtt",s="notify_redis",c="notify_nats",d="notify_elasticsearch",p="notify_webhook",u="notify_nsq",m=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class g{}g.DB="database",g.Queue="queue",g.Func="functions";const h=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg",category:g.DB},{actionTrigger:a,targetTitle:"Kafka",logo:"/kafka-logo.svg",category:g.Queue},{actionTrigger:r,targetTitle:"AMQP",logo:"/amqp-logo.svg",category:g.Queue},{actionTrigger:l,targetTitle:"MQTT",logo:"/mqtt-logo.svg",category:g.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"/redis-logo.svg",category:g.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"/nats-logo.svg",category:g.Queue},{actionTrigger:i,targetTitle:"Mysql",logo:"/mysql-logo.svg",category:g.DB},{actionTrigger:d,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg",category:g.DB},{actionTrigger:p,targetTitle:"Webhook",logo:"/webhooks-logo.svg",category:g.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"/nsq-logo.svg",category:g.Queue}],f=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],y=e=>e.filter((e=>""!==e.value)),b={[a]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...f],[r]:[{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"},...f],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...f],[l]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...f],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...f],[d]:[{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"},...f],[p]:[{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"},...f],[u]:[{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"},...f]},v={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},S=e=>v[e]}}]);
-//# sourceMappingURL=6686.01ae5612.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/6686.01ae5612.chunk.js.map b/portal-ui/build/static/js/6686.01ae5612.chunk.js.map
deleted file mode 100644
index 584cb5ed9..000000000
--- a/portal-ui/build/static/js/6686.01ae5612.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/6686.01ae5612.chunk.js","mappings":"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","sources":["screens/Console/EventDestinations/ConfirmDeleteDestinationModal.tsx","screens/Console/EventDestinations/ListEventDestinations.tsx","screens/Console/EventDestinations/utils.ts"],"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 ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"mds\";\n\nconst ConfirmDeleteDestinationModal = ({\n onConfirm,\n onClose,\n serviceName,\n status,\n}: {\n onConfirm: () => void;\n onClose: () => void;\n serviceName: string;\n status: string;\n}) => {\n return (\n }\n isLoading={false}\n onConfirm={onConfirm}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the event destination ?\n \n {serviceName} which is {status}\n \n }\n />\n );\n};\n\nexport default ConfirmDeleteDestinationModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n ActionLink,\n AddIcon,\n Box,\n Button,\n CircleIcon,\n DataTable,\n Grid,\n HelpBox,\n LambdaIcon,\n PageLayout,\n ProgressBar,\n RefreshIcon,\n} from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { NotificationEndpointItem } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { TransformedEndpointItem } from \"./types\";\nimport { getNotificationConfigKey, notificationTransform } from \"./utils\";\nimport { actionsTray } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setDestinationLoading } from \"./destinationsSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport ConfirmDeleteDestinationModal from \"./ConfirmDeleteDestinationModal\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst StatusDisplay = styled.div(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n width: 16,\n marginRight: 5,\n fill: get(theme, \"signalColors.good\", \"#4CCB92\"),\n },\n \"& svg.offline\": {\n fill: get(theme, \"signalColors.danger\", \"#C51B3F\"),\n },\n}));\n\nconst ListEventDestinations = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n // Reducer States\n const isLoading = useSelector((state: AppState) => state.destination.loading);\n\n //Local States\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n\n const [isDelConfirmOpen, setIsDelConfirmOpen] = useState(false);\n const [selNotifyEndPoint, setSelNotifyEndpoint] =\n useState();\n\n //Effects\n // load records on mount\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api.admin\n .notificationEndpointList()\n .then((res) => {\n let resNotEndList: NotificationEndpointItem[] = [];\n if (res.data.notification_endpoints) {\n resNotEndList = res.data.notification_endpoints;\n }\n setRecords(notificationTransform(resNotEndList));\n dispatch(setDestinationLoading(false));\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n dispatch(setDestinationLoading(false));\n });\n };\n fetchRecords();\n }\n }, [isLoading, dispatch]);\n\n useEffect(() => {\n dispatch(setDestinationLoading(true));\n }, [dispatch]);\n\n const resetNotificationConfig = (\n ep: TransformedEndpointItem | undefined | null,\n ) => {\n if (ep?.name) {\n const configKey = getNotificationConfigKey(ep.name);\n let accountId = `:${ep.account_id}`;\n if (configKey) {\n api.configs\n .resetConfig(`${configKey}${accountId}`)\n .then(() => {\n dispatch(setServerNeedsRestart(true));\n setSelNotifyEndpoint(null);\n setIsDelConfirmOpen(false);\n dispatch(setDestinationLoading(true));\n })\n .catch((err) => {\n setIsDelConfirmOpen(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n } else {\n setSelNotifyEndpoint(null);\n setIsDelConfirmOpen(false);\n console.log(`Unable to find Config key for ${ep.name}`);\n }\n }\n };\n\n const confirmDelNotifyEndpoint = (record: TransformedEndpointItem) => {\n setSelNotifyEndpoint(record);\n setIsDelConfirmOpen(true);\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDelNotifyEndpoint }];\n\n const filteredRecords = records.filter((b: TransformedEndpointItem) => {\n if (filter === \"\") {\n return true;\n }\n return b.service_name.indexOf(filter) >= 0;\n });\n\n const statusDisplay = (status: string) => {\n return (\n \n \n {status}\n \n );\n };\n\n return (\n \n \n \n \n \n \n }\n onClick={() => {\n dispatch(setDestinationLoading(true));\n }}\n />\n \n \n }\n onClick={() => {\n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD);\n }}\n />\n \n \n \n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\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 MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n \n \n To get started,{\" \"}\n {\n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD);\n }}\n >\n Add an Event Destination\n \n .\n \n }\n />\n \n \n )}\n \n )}\n\n {isDelConfirmOpen ? (\n {\n resetNotificationConfig(selNotifyEndPoint);\n }}\n status={`${selNotifyEndPoint?.status}`}\n serviceName={`${selNotifyEndPoint?.service_name}`}\n onClose={() => {\n setIsDelConfirmOpen(false);\n }}\n />\n ) : null}\n \n \n );\n};\n\nexport default ListEventDestinations;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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 name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from api/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["_ref","onConfirm","onClose","serviceName","status","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmModalIcon","isLoading","confirmationContent","_jsxs","React","children","StatusDisplay","styled","div","theme","display","alignItems","width","marginRight","fill","get","ListEventDestinations","dispatch","useAppDispatch","navigate","useNavigate","useSelector","state","destination","loading","records","setRecords","useState","filter","setFilter","isDelConfirmOpen","setIsDelConfirmOpen","selNotifyEndPoint","setSelNotifyEndpoint","useEffect","fetchRecords","api","admin","notificationEndpointList","then","res","resNotEndList","data","notification_endpoints","notificationTransform","setDestinationLoading","catch","err","setErrorSnackMessage","errorToHandler","error","tableActions","type","onClick","record","filteredRecords","b","service_name","indexOf","Fragment","PageLayout","Grid","item","xs","sx","actionsTray","SearchBox","placeholder","onChange","value","maxWidth","Box","justifyContent","gap","TooltipWrapper","tooltip","Button","id","label","variant","icon","RefreshIcon","AddIcon","IAM_PAGES","EVENT_DESTINATIONS_ADD","ProgressBar","length","DataTable","itemActions","columns","elementKey","renderFunction","CircleIcon","className","entityName","idField","customPaperHeight","marginTop","HelpBox","iconComponent","LambdaIcon","help","href","target","rel","container","alignContent","ActionLink","ConfirmDeleteDestinationModal","ep","name","configKey","getNotificationConfigKey","accountId","concat","account_id","configs","resetConfig","setServerNeedsRestart","console","log","resetNotificationConfig","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationElements","map","element","service","DestType","DB","Queue","Func","destinationList","actionTrigger","targetTitle","logo","category","commonFields","required","removeEmptyFields","formFields","field","notificationEndpointsFields","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/6686.7d608371.chunk.js b/portal-ui/build/static/js/6686.7d608371.chunk.js
new file mode 100644
index 000000000..cebea4a89
--- /dev/null
+++ b/portal-ui/build/static/js/6686.7d608371.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[6686],{86686:(e,t,o)=>{o.r(t),o.d(t,{default:()=>_});var n=o(72791),a=o(29945),i=o(78687),r=o(57689),l=o(31776),s=o(82342),c=o(16444),d=o(26181),p=o.n(d),u=o(61757),m=o(23814),g=o(56087),h=o(87995),f=o(44690),y=o(53669),b=o(59114),v=o(23508),S=o(80184);const T=e=>{let{onConfirm:t,onClose:o,serviceName:i,status:r}=e;return(0,S.jsx)(v.Z,{title:"Delete Endpoint",confirmText:"Delete",isOpen:!0,titleIcon:(0,S.jsx)(a.EjK,{}),isLoading:!1,onConfirm:t,onClose:o,confirmationContent:(0,S.jsxs)(n.Fragment,{children:["Are you sure you want to delete the event destination ?",(0,S.jsx)("br",{}),(0,S.jsx)("b",{children:i})," which is ",(0,S.jsx)("b",{children:r})]})})};var x=o(27454);const k=c.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center","& svg":{width:16,marginRight:5,fill:p()(t,"signalColors.good","#4CCB92")},"& svg.offline":{fill:p()(t,"signalColors.danger","#C51B3F")}}})),_=()=>{const e=(0,f.TL)(),t=(0,r.s0)(),o=(0,i.v9)((e=>e.destination.loading)),[c,d]=(0,n.useState)([]),[p,v]=(0,n.useState)(""),[_,E]=(0,n.useState)(!1),[A,j]=(0,n.useState)();(0,n.useEffect)((()=>{if(o){(()=>{l.h.admin.notificationEndpointList().then((t=>{let o=[];t.data.notification_endpoints&&(o=t.data.notification_endpoints),d((0,u.fk)(o)),e((0,y.iP)(!1))})).catch((t=>{e((0,h.Ih)((0,s.g)(t.error))),e((0,y.iP)(!1))}))})()}}),[o,e]),(0,n.useEffect)((()=>{e((0,y.iP)(!0))}),[e]);const C=[{type:"delete",onClick:e=>{j(e),E(!0)}}],L=c.filter((e=>""===p||e.service_name.indexOf(p)>=0));return(0,S.jsx)(n.Fragment,{children:(0,S.jsxs)(a.Xgh,{children:[(0,S.jsxs)(a.rjZ,{item:!0,xs:12,sx:m.OR.actionsTray,children:[(0,S.jsx)(b.Z,{placeholder:"Search target",onChange:v,value:p,sx:{maxWidth:380}}),(0,S.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:5},children:[(0,S.jsx)(x.Z,{tooltip:"Refresh List",children:(0,S.jsx)(a.zxk,{id:"reload-event-destinations",label:"Refresh",variant:"regular",icon:(0,S.jsx)(a.DuK,{}),onClick:()=>{e((0,y.iP)(!0))}})}),(0,S.jsx)(x.Z,{tooltip:"Add Event Destination",children:(0,S.jsx)(a.zxk,{id:"add-notification-target",label:"Add Event Destination",variant:"callAction",icon:(0,S.jsx)(a.dtP,{}),onClick:()=>{t(g.gA.EVENT_DESTINATIONS_ADD)}})})]})]}),o&&(0,S.jsx)(a.kod,{}),!o&&(0,S.jsxs)(n.Fragment,{children:[c.length>0&&(0,S.jsxs)(n.Fragment,{children:[(0,S.jsx)(a.xuv,{sx:{width:"100%"},children:(0,S.jsx)(a.wQF,{itemActions:C,columns:[{label:"Status",elementKey:"status",renderFunction:e=>(0,S.jsxs)(k,{children:[(0,S.jsx)(a.J$M,{className:"Offline"===e?"offline":""}),e]}),width:150},{label:"Service",elementKey:"service_name"}],isLoading:o,records:L,entityName:"Event Destinations",idField:"service_name",customPaperHeight:"400px"})}),(0,S.jsx)(a.rjZ,{item:!0,xs:12,sx:{marginTop:15},children:(0,S.jsx)(a.KfX,{title:"Event Destinations",iconComponent:(0,S.jsx)(a.cCG,{}),help:(0,S.jsxs)(n.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"You can learn more at our"," ",(0,S.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noopener",children:"documentation"}),"."]})})})]}),0===c.length&&(0,S.jsx)(a.rjZ,{container:!0,sx:{justifyContent:"center",alignContent:"center",alignItems:"center"},children:(0,S.jsx)(a.rjZ,{item:!0,xs:8,children:(0,S.jsx)(a.KfX,{title:"Event Destinations",iconComponent:(0,S.jsx)(a.cCG,{}),help:(0,S.jsxs)(n.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"To get started,"," ",(0,S.jsx)(a.vmT,{onClick:()=>{t(g.gA.EVENT_DESTINATIONS_ADD)},children:"Add an Event Destination"}),"."]})})})})]}),_?(0,S.jsx)(T,{onConfirm:()=>{(t=>{if(null!==t&&void 0!==t&&t.name){const o=(0,u.L)(t.name);let n=":".concat(t.account_id);o?l.h.configs.resetConfig("".concat(o).concat(n)).then((()=>{e((0,h.cN)(!0)),j(null),E(!1),e((0,y.iP)(!0))})).catch((t=>{E(!1),e((0,h.Ih)((0,s.g)(t.error)))})):(j(null),E(!1),console.log("Unable to find Config key for ".concat(t.name)))}})(A)},status:"".concat(null===A||void 0===A?void 0:A.status),serviceName:"".concat(null===A||void 0===A?void 0:A.service_name),onClose:()=>{E(!1)}}):null]})})}},61757:(e,t,o)=>{o.d(t,{BI:()=>f,DD:()=>b,L:()=>T,dM:()=>a,ee:()=>n,fk:()=>m,oj:()=>v,z5:()=>g});const n="notify_postgres",a="notify_mysql",i="notify_kafka",r="notify_amqp",l="notify_mqtt",s="notify_redis",c="notify_nats",d="notify_elasticsearch",p="notify_webhook",u="notify_nsq",m=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class g{}g.DB="database",g.Queue="queue",g.Func="functions";const h=()=>"".concat(document.baseURI),f=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"".concat(h(),"postgres-logo.svg"),category:g.DB},{actionTrigger:i,targetTitle:"Kafka",logo:"".concat(h(),"kafka-logo.svg"),category:g.Queue},{actionTrigger:r,targetTitle:"AMQP",logo:"".concat(h(),"amqp-logo.svg"),category:g.Queue},{actionTrigger:l,targetTitle:"MQTT",logo:"".concat(h(),"mqtt-logo.svg"),category:g.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"".concat(h(),"redis-logo.svg"),category:g.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"".concat(h(),"nats-logo.svg"),category:g.Queue},{actionTrigger:a,targetTitle:"Mysql",logo:"".concat(h(),"mysql-logo.svg"),category:g.DB},{actionTrigger:d,targetTitle:"Elastic Search",logo:"".concat(h(),"elasticsearch-logo.svg"),category:g.DB},{actionTrigger:p,targetTitle:"Webhook",logo:"".concat(h(),"webhooks-logo.svg"),category:g.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"".concat(h(),"nsq-logo.svg"),category:g.Queue}],y=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],b=e=>e.filter((e=>""!==e.value)),v={[i]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...y],[r]:[{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"},...y],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...y],[l]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...y],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...y],[d]:[{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"},...y],[p]:[{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"},...y],[u]:[{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"},...y]},S={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},T=e=>S[e]}}]);
+//# sourceMappingURL=6686.7d608371.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/6686.7d608371.chunk.js.map b/portal-ui/build/static/js/6686.7d608371.chunk.js.map
new file mode 100644
index 000000000..906aaf1b6
--- /dev/null
+++ b/portal-ui/build/static/js/6686.7d608371.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/6686.7d608371.chunk.js","mappings":"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","sources":["screens/Console/EventDestinations/ConfirmDeleteDestinationModal.tsx","screens/Console/EventDestinations/ListEventDestinations.tsx","screens/Console/EventDestinations/utils.ts"],"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 ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"mds\";\n\nconst ConfirmDeleteDestinationModal = ({\n onConfirm,\n onClose,\n serviceName,\n status,\n}: {\n onConfirm: () => void;\n onClose: () => void;\n serviceName: string;\n status: string;\n}) => {\n return (\n }\n isLoading={false}\n onConfirm={onConfirm}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the event destination ?\n \n {serviceName} which is {status}\n \n }\n />\n );\n};\n\nexport default ConfirmDeleteDestinationModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n ActionLink,\n AddIcon,\n Box,\n Button,\n CircleIcon,\n DataTable,\n Grid,\n HelpBox,\n LambdaIcon,\n PageLayout,\n ProgressBar,\n RefreshIcon,\n} from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { NotificationEndpointItem } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { TransformedEndpointItem } from \"./types\";\nimport { getNotificationConfigKey, notificationTransform } from \"./utils\";\nimport { actionsTray } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setDestinationLoading } from \"./destinationsSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport ConfirmDeleteDestinationModal from \"./ConfirmDeleteDestinationModal\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst StatusDisplay = styled.div(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n width: 16,\n marginRight: 5,\n fill: get(theme, \"signalColors.good\", \"#4CCB92\"),\n },\n \"& svg.offline\": {\n fill: get(theme, \"signalColors.danger\", \"#C51B3F\"),\n },\n}));\n\nconst ListEventDestinations = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n // Reducer States\n const isLoading = useSelector((state: AppState) => state.destination.loading);\n\n //Local States\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n\n const [isDelConfirmOpen, setIsDelConfirmOpen] = useState(false);\n const [selNotifyEndPoint, setSelNotifyEndpoint] =\n useState();\n\n //Effects\n // load records on mount\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api.admin\n .notificationEndpointList()\n .then((res) => {\n let resNotEndList: NotificationEndpointItem[] = [];\n if (res.data.notification_endpoints) {\n resNotEndList = res.data.notification_endpoints;\n }\n setRecords(notificationTransform(resNotEndList));\n dispatch(setDestinationLoading(false));\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n dispatch(setDestinationLoading(false));\n });\n };\n fetchRecords();\n }\n }, [isLoading, dispatch]);\n\n useEffect(() => {\n dispatch(setDestinationLoading(true));\n }, [dispatch]);\n\n const resetNotificationConfig = (\n ep: TransformedEndpointItem | undefined | null,\n ) => {\n if (ep?.name) {\n const configKey = getNotificationConfigKey(ep.name);\n let accountId = `:${ep.account_id}`;\n if (configKey) {\n api.configs\n .resetConfig(`${configKey}${accountId}`)\n .then(() => {\n dispatch(setServerNeedsRestart(true));\n setSelNotifyEndpoint(null);\n setIsDelConfirmOpen(false);\n dispatch(setDestinationLoading(true));\n })\n .catch((err) => {\n setIsDelConfirmOpen(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n } else {\n setSelNotifyEndpoint(null);\n setIsDelConfirmOpen(false);\n console.log(`Unable to find Config key for ${ep.name}`);\n }\n }\n };\n\n const confirmDelNotifyEndpoint = (record: TransformedEndpointItem) => {\n setSelNotifyEndpoint(record);\n setIsDelConfirmOpen(true);\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDelNotifyEndpoint }];\n\n const filteredRecords = records.filter((b: TransformedEndpointItem) => {\n if (filter === \"\") {\n return true;\n }\n return b.service_name.indexOf(filter) >= 0;\n });\n\n const statusDisplay = (status: string) => {\n return (\n \n \n {status}\n \n );\n };\n\n return (\n \n \n \n \n \n \n }\n onClick={() => {\n dispatch(setDestinationLoading(true));\n }}\n />\n \n \n }\n onClick={() => {\n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD);\n }}\n />\n \n \n \n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\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 MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n \n \n To get started,{\" \"}\n {\n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD);\n }}\n >\n Add an Event Destination\n \n .\n \n }\n />\n \n \n )}\n \n )}\n\n {isDelConfirmOpen ? (\n {\n resetNotificationConfig(selNotifyEndPoint);\n }}\n status={`${selNotifyEndPoint?.status}`}\n serviceName={`${selNotifyEndPoint?.service_name}`}\n onClose={() => {\n setIsDelConfirmOpen(false);\n }}\n />\n ) : null}\n \n \n );\n};\n\nexport default ListEventDestinations;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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\";\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[],\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nconst getImgBaseURL = () => {\n return `${document.baseURI}`;\n};\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: `${getImgBaseURL()}postgres-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: `${getImgBaseURL()}kafka-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: `${getImgBaseURL()}amqp-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: `${getImgBaseURL()}mqtt-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: `${getImgBaseURL()}redis-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: `${getImgBaseURL()}nats-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: `${getImgBaseURL()}mysql-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: `${getImgBaseURL()}elasticsearch-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: `${getImgBaseURL()}webhooks-logo.svg`,\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: `${getImgBaseURL()}nsq-logo.svg`,\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from api/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["_ref","onConfirm","onClose","serviceName","status","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmModalIcon","isLoading","confirmationContent","_jsxs","React","children","StatusDisplay","styled","div","theme","display","alignItems","width","marginRight","fill","get","ListEventDestinations","dispatch","useAppDispatch","navigate","useNavigate","useSelector","state","destination","loading","records","setRecords","useState","filter","setFilter","isDelConfirmOpen","setIsDelConfirmOpen","selNotifyEndPoint","setSelNotifyEndpoint","useEffect","fetchRecords","api","admin","notificationEndpointList","then","res","resNotEndList","data","notification_endpoints","notificationTransform","setDestinationLoading","catch","err","setErrorSnackMessage","errorToHandler","error","tableActions","type","onClick","record","filteredRecords","b","service_name","indexOf","Fragment","PageLayout","Grid","item","xs","sx","actionsTray","SearchBox","placeholder","onChange","value","maxWidth","Box","justifyContent","gap","TooltipWrapper","tooltip","Button","id","label","variant","icon","RefreshIcon","AddIcon","IAM_PAGES","EVENT_DESTINATIONS_ADD","ProgressBar","length","DataTable","itemActions","columns","elementKey","renderFunction","CircleIcon","className","entityName","idField","customPaperHeight","marginTop","HelpBox","iconComponent","LambdaIcon","help","href","target","rel","container","alignContent","ActionLink","ConfirmDeleteDestinationModal","ep","name","configKey","getNotificationConfigKey","accountId","concat","account_id","configs","resetConfig","setServerNeedsRestart","console","log","resetNotificationConfig","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationElements","map","element","service","DestType","DB","Queue","Func","getImgBaseURL","document","baseURI","destinationList","actionTrigger","targetTitle","logo","category","commonFields","required","removeEmptyFields","formFields","field","notificationEndpointsFields","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8060.24e61b78.chunk.js b/portal-ui/build/static/js/8060.24e61b78.chunk.js
new file mode 100644
index 000000000..4fbf6b533
--- /dev/null
+++ b/portal-ui/build/static/js/8060.24e61b78.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8060],{18060:(e,t,o)=>{o.r(t),o.d(t,{default:()=>_});var n=o(72791),a=o(57689),r=o(29945),i=o(61757),l=o(23814),s=o(56087),c=o(80184);const p=()=>(0,c.jsx)(r.KfX,{iconComponent:(0,c.jsx)(r.HNx,{}),title:"What are Event Destinations?",help:(0,c.jsx)(r.xuv,{sx:{paddingTop:"20px"},children:"MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications."})});var d=o(79844),u=o(26181),g=o.n(u);const m=o(16444).ZP.button((e=>{let{theme:t}=e;return{background:g()(t,"boxBackground","#FFF"),border:"".concat(g()(t,"borderColor","#E2E2E2")," 1px solid"),borderRadius:5,width:250,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,marginRight:8,cursor:"pointer",overflow:"hidden","&:hover":{backgroundColor:g()(t,"buttons.regular.hover.background","#ebebeb")},"& .imageContainer":{width:80,"& .logoButton":{maxWidth:46,maxHeight:46,filter:"drop-shadow(1px 1px 8px #fff)"}},"& .lambdaNotifTitle":{color:g()(t,"buttons.callAction.enabled.background","#07193E"),fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18,fontWeight:"bold"}}})),h=e=>{let{destinationType:t,srcImage:o,title:n}=e;const r=(0,a.s0)();return(0,c.jsxs)(m,{onClick:()=>{r("".concat(s.gA.EVENT_DESTINATIONS_ADD,"/").concat(t))},children:[(0,c.jsx)("span",{className:"imageContainer",children:(0,c.jsx)("img",{src:o,className:"logoButton",alt:n})}),(0,c.jsx)("span",{className:"lambdaNotifTitle",children:n})]})};var f=o(99670),y=o(44690),b=o(87995);const T=i.BI.filter((e=>""!==e.logo)),S=T.filter((e=>e.category===i.z5.DB)),v=T.filter((e=>e.category===i.z5.Queue)),k=T.filter((e=>e.category===i.z5.Func)),_=()=>{const e=(0,a.s0)(),t=(0,y.TL)();return(0,n.useEffect)((()=>{t((0,b.Sc)("notification_type_selector"))}),[]),(0,c.jsxs)(n.Fragment,{children:[(0,c.jsx)(d.Z,{label:(0,c.jsx)(n.Fragment,{children:(0,c.jsx)(r.hbI,{label:"Event Destinations",onClick:()=>e(s.gA.EVENT_DESTINATIONS)})}),actions:(0,c.jsx)(f.Z,{})}),(0,c.jsx)(r.Xgh,{children:(0,c.jsx)(r.ltY,{helpBox:(0,c.jsx)(p,{}),children:(0,c.jsxs)(r.xuv,{children:[(0,c.jsx)(r.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Queue"}),(0,c.jsx)(r.xuv,{sx:{...l.fc.iconContainer},children:v.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))}),(0,c.jsx)(r.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Database"}),(0,c.jsx)(r.xuv,{sx:{...l.fc.iconContainer},children:S.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))}),(0,c.jsx)(r.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Functions"}),(0,c.jsx)(r.xuv,{sx:{...l.fc.iconContainer},children:k.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))})]})})})]})}},61757:(e,t,o)=>{o.d(t,{BI:()=>f,DD:()=>b,L:()=>v,dM:()=>a,ee:()=>n,fk:()=>g,oj:()=>T,z5:()=>m});const n="notify_postgres",a="notify_mysql",r="notify_kafka",i="notify_amqp",l="notify_mqtt",s="notify_redis",c="notify_nats",p="notify_elasticsearch",d="notify_webhook",u="notify_nsq",g=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class m{}m.DB="database",m.Queue="queue",m.Func="functions";const h=()=>"".concat(document.baseURI),f=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"".concat(h(),"postgres-logo.svg"),category:m.DB},{actionTrigger:r,targetTitle:"Kafka",logo:"".concat(h(),"kafka-logo.svg"),category:m.Queue},{actionTrigger:i,targetTitle:"AMQP",logo:"".concat(h(),"amqp-logo.svg"),category:m.Queue},{actionTrigger:l,targetTitle:"MQTT",logo:"".concat(h(),"mqtt-logo.svg"),category:m.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"".concat(h(),"redis-logo.svg"),category:m.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"".concat(h(),"nats-logo.svg"),category:m.Queue},{actionTrigger:a,targetTitle:"Mysql",logo:"".concat(h(),"mysql-logo.svg"),category:m.DB},{actionTrigger:p,targetTitle:"Elastic Search",logo:"".concat(h(),"elasticsearch-logo.svg"),category:m.DB},{actionTrigger:d,targetTitle:"Webhook",logo:"".concat(h(),"webhooks-logo.svg"),category:m.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"".concat(h(),"nsq-logo.svg"),category:m.Queue}],y=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],b=e=>e.filter((e=>""!==e.value)),T={[r]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...y],[i]:[{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"},...y],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...y],[l]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...y],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...y],[p]:[{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"},...y],[d]:[{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"},...y],[u]:[{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"},...y]},S={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},v=e=>S[e]}}]);
+//# sourceMappingURL=8060.24e61b78.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8060.24e61b78.chunk.js.map b/portal-ui/build/static/js/8060.24e61b78.chunk.js.map
new file mode 100644
index 000000000..ef7c41eb0
--- /dev/null
+++ b/portal-ui/build/static/js/8060.24e61b78.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/8060.24e61b78.chunk.js","mappings":"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O,MACPuC,QAAS,4BACTC,KAAM,UAER,CACER,KAAM,kBACNhC,MAAO,kBACPuC,QACE,mEACFC,KAAM,UAER,CACER,KAAM,kBACNhC,MAAO,kBACPuC,QAAS,oDACTC,KAAM,OACNC,YAAa,yBAEf,CACET,KAAM,iBACNhC,MAAO,iBACPuC,QAAS,4CACTC,KAAM,OACNC,YAAa,wBAEf,CACET,KAAM,UACNhC,MAAO,UACPuC,QAAS,uDACTC,KAAM,SACNC,YAAa,0BAEZJ,GAEL,CAAClB,GAAa,CACZ,CACEa,KAAM,MACNM,UAAU,EACVtC,MAAO,MACPuC,QACE,sEACFC,KAAM,OAER,CACER,KAAM,WACNhC,MAAO,WACPuC,QAAS,4BACTC,KAAM,SACNC,YAAa,kBAEf,CACET,KAAM,gBACNhC,MAAO,gBACPuC,QAAS,qBACTC,KAAM,SACNC,YAAa,uBAEf,CACET,KAAM,cACNhC,MAAO,cACPuC,QAAS,6BACTC,KAAM,SACNC,YAAa,qBAEf,CACET,KAAM,YACNhC,MAAO,YACPuC,QACE,yEACFC,KAAM,UAER,CACER,KAAM,UACNhC,MAAO,UACPuC,QACE,0EACFC,KAAM,UAER,CACER,KAAM,UACNhC,MAAO,UACPuC,QACE,mEACFC,KAAM,UAER,CACER,KAAM,WACNhC,MAAO,WACPuC,QACE,yGACFC,KAAM,UAER,CACER,KAAM,eACNhC,MAAO,eACPuC,QACE,kEACFC,KAAM,UAER,CACER,KAAM,gBACNhC,MAAO,gBACPuC,QAAS,4DACTC,KAAM,SACNC,YAAa,0BAEZJ,GAEL,CAAChB,GAAc,CACb,CACEW,KAAM,UACNM,UAAU,EACVtC,MAAO,UACPuC,QAAS,+CACTC,KAAM,UACNC,YAAa,iBAEf,CACET,KAAM,MACNM,UAAU,EACVtC,MAAO,MACPuC,QAAS,wDACTC,KAAM,SACNC,YAAa,aAEf,CACET,KAAM,WACNhC,MAAO,WACPuC,QAAS,wBACTC,KAAM,SACNC,YAAa,qBAEZJ,GAEL,CAACjB,GAAa,CACZ,CACEY,KAAM,SACNM,UAAU,EACVtC,MAAO,SACPuC,QAAS,mDACTC,KAAM,MACNC,YAAa,iBAEf,CACET,KAAM,QACNM,UAAU,EACVtC,MAAO,QACPuC,QAAS,oCACTC,KAAM,SACNC,YAAa,eAEf,CACET,KAAM,WACNhC,MAAO,WACPuC,QAAS,gBACTC,KAAM,SACNC,YAAa,kBAEf,CACET,KAAM,WACNhC,MAAO,WACPuC,QAAS,gBACTC,KAAM,SACNC,YAAa,kBAEf,CACET,KAAM,MACNhC,MAAO,MACPuC,QAAS,uDACTC,KAAM,SACNC,YAAa,aAEf,CACET,KAAM,sBACNhC,MAAO,sBACPuC,QAAS,sDACTC,KAAM,WACNC,YAAa,6BAEf,CACET,KAAM,qBACNhC,MAAO,qBACPuC,QAAS,qDACTC,KAAM,WACNC,YAAa,+BAEZJ,GAEL,CAACf,GAAa,CACZ,CACEU,KAAM,UACNM,UAAU,EACVtC,MAAO,UACPuC,QAAS,0CACTC,KAAM,UACNC,YAAa,iBAEf,CACET,KAAM,UACNM,UAAU,EACVtC,MAAO,UACPuC,QAAS,4BACTC,KAAM,SACNC,YAAa,sBAEf,CACET,KAAM,WACNhC,MAAO,WACPuC,QAAS,gBACTC,KAAM,SACNC,YAAa,uBAEf,CACET,KAAM,WACNhC,MAAO,WACPuC,QAAS,gBACTC,KAAM,SACNC,YAAa,uBAEf,CACET,KAAM,QACNhC,MAAO,QACPuC,QAAS,aACTC,KAAM,SACNC,YAAa,oBAEf,CACET,KAAM,MACNhC,MAAO,MACPuC,QAAS,4BACTC,KAAM,UAER,CACER,KAAM,kBACNhC,MAAO,kBACPuC,QACE,mEACFC,KAAM,UAER,CACER,KAAM,gBACNhC,MAAO,gBACPuC,QAAS,gEACTC,KAAM,WACNC,YAAa,uBAEf,CACET,KAAM,YACNhC,MAAO,YACPuC,QAAS,2CACTC,KAAM,UAER,CACER,KAAM,kBACNhC,MAAO,kBACPuC,QAAS,6CACTC,KAAM,UAER,CACER,KAAM,mCACNhC,MAAO,uCACPuC,QAAS,yDACTC,KAAM,SACNC,YAAa,mCAEf,CACET,KAAM,uBACNhC,MAAO,uBACPuC,QAAS,uCACTC,KAAM,SACNC,YAAa,8BAEf,CACET,KAAM,iBACNhC,MAAO,iBACPuC,QAAS,sDACTC,KAAM,SACNC,YAAa,wBAEf,CACET,KAAM,cACNhC,MAAO,cACPuC,QAAS,iCACTC,KAAM,SACNC,YAAa,qBAEf,CACET,KAAM,aACNhC,MAAO,aACPuC,QAAS,8CACTC,KAAM,SACNC,YAAa,uBAEZJ,GAEL,CAACd,GAAsB,CACrB,CACES,KAAM,MACNM,UAAU,EACVtC,MAAO,MACPuC,QACE,oEACFC,KAAM,MACNC,YAAa,aAEf,CACET,KAAM,QACNM,UAAU,EACVtC,MAAO,QACPuC,QACE,oEACFC,KAAM,SACNC,YAAa,eAEf,CACET,KAAM,SACNM,UAAU,EACVtC,MAAO,SACPuC,QACE,gIACFC,KAAM,OACNC,YAAa,mBAEZJ,GAEL,CAACb,GAAiB,CAChB,CACEQ,KAAM,WACNM,UAAU,EACVtC,MAAO,WACPuC,QACE,kEACFC,KAAM,MACNC,YAAa,kBAEf,CACET,KAAM,aACNhC,MAAO,aACPuC,QAAS,2CACTC,KAAM,SACNC,YAAa,uBAEZJ,GAEL,CAACZ,GAAY,CACX,CACEO,KAAM,eACNM,UAAU,EACVtC,MAAO,eACPuC,QAAS,2CACTC,KAAM,UACNC,YAAa,sBAEf,CACET,KAAM,QACNM,UAAU,EACVtC,MAAO,QACPuC,QAAS,YACTC,KAAM,SACNC,YAAa,eAEf,CACET,KAAM,MACNhC,MAAO,MACPuC,QAAS,4BACTC,KAAM,UAER,CACER,KAAM,kBACNhC,MAAO,kBACPuC,QACE,mEACFC,KAAM,aAELH,IAIDU,EAA6C,CACjDC,QAAS,iBACTC,KAAM,cACNC,MAAO,eACPC,KAAM,cACNC,KAAM,cACNC,IAAK,aACLC,MAAO,eACPC,WAAY,kBACZC,cAAe,uBACfC,MAAO,gBAGIC,EAA4BC,GAChCZ,EAAmBY,E","sources":["screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx","screens/Console/EventDestinations/DestinationButton.tsx","screens/Console/EventDestinations/EventTypeSelector.tsx","screens/Console/EventDestinations/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\n\nimport { HelpBox, LambdaNotificationsIcon, Box } from \"mds\";\n\nconst NotificationEndpointTypeSelectorHelpBox = () => {\n return (\n }\n title={\"What are Event Destinations?\"}\n help={\n \n MinIO bucket notifications allow administrators to send notifications\n to supported external services on certain object or bucket events.\n MinIO supports bucket and object-level S3 events similar to the Amazon\n S3 Event Notifications.\n \n }\n />\n );\n};\n\nexport default NotificationEndpointTypeSelectorHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { useNavigate } from \"react-router-dom\";\nimport styled from \"styled-components\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IDestinationButton {\n destinationType: string;\n srcImage: string;\n title: string;\n}\n\nconst DestinationButtonBase = styled.button(({ theme }) => ({\n background: get(theme, \"boxBackground\", \"#FFF\"),\n border: `${get(theme, \"borderColor\", \"#E2E2E2\")} 1px solid`,\n borderRadius: 5,\n width: 250,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n marginRight: 8,\n cursor: \"pointer\",\n overflow: \"hidden\",\n \"&:hover\": {\n backgroundColor: get(theme, \"buttons.regular.hover.background\", \"#ebebeb\"),\n },\n \"& .imageContainer\": {\n width: 80,\n \"& .logoButton\": {\n maxWidth: 46,\n maxHeight: 46,\n filter: \"drop-shadow(1px 1px 8px #fff)\",\n },\n },\n \"& .lambdaNotifTitle\": {\n color: get(theme, \"buttons.callAction.enabled.background\", \"#07193E\"),\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n fontWeight: \"bold\",\n },\n}));\n\nconst DestinationButton = ({\n destinationType,\n srcImage,\n title,\n}: IDestinationButton) => {\n const navigate = useNavigate();\n\n return (\n {\n navigate(`${IAM_PAGES.EVENT_DESTINATIONS_ADD}/${destinationType}`);\n }}\n >\n \n \n \n {title}\n \n );\n};\n\nexport default DestinationButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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 { useNavigate } from \"react-router-dom\";\nimport { BackLink, Box, FormLayout, PageLayout } from \"mds\";\nimport { destinationList, DestType } from \"./utils\";\nimport { typesSelection } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport NotificationEndpointTypeSelectorHelpBox from \"../Account/NotificationEndpointTypeSelectorHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport DestinationButton from \"./DestinationButton\";\n\nimport HelpMenu from \"../HelpMenu\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setHelpName } from \"../../../systemSlice\";\n\nconst withLogos = destinationList.filter((elService) => elService.logo !== \"\");\nconst database = withLogos.filter(\n (elService) => elService.category === DestType.DB,\n);\nconst queue = withLogos.filter(\n (elService) => elService.category === DestType.Queue,\n);\nconst functions = withLogos.filter(\n (elService) => elService.category === DestType.Func,\n);\n\nconst EventTypeSelector = () => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"notification_type_selector\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n \n navigate(IAM_PAGES.EVENT_DESTINATIONS)}\n />\n \n }\n actions={}\n />\n \n }>\n \n \n Queue\n \n \n {queue.map((item) => {\n return (\n \n );\n })}\n \n \n Database\n \n \n {database.map((item) => {\n return (\n \n );\n })}\n \n \n Functions\n \n \n {functions.map((item) => {\n return (\n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default EventTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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\";\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[],\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nconst getImgBaseURL = () => {\n return `${document.baseURI}`;\n};\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: `${getImgBaseURL()}postgres-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: `${getImgBaseURL()}kafka-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: `${getImgBaseURL()}amqp-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: `${getImgBaseURL()}mqtt-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: `${getImgBaseURL()}redis-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: `${getImgBaseURL()}nats-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: `${getImgBaseURL()}mysql-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: `${getImgBaseURL()}elasticsearch-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: `${getImgBaseURL()}webhooks-logo.svg`,\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: `${getImgBaseURL()}nsq-logo.svg`,\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from api/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["NotificationEndpointTypeSelectorHelpBox","_jsx","HelpBox","iconComponent","LambdaNotificationsIcon","title","help","Box","sx","paddingTop","children","DestinationButtonBase","styled","button","_ref","theme","background","get","border","concat","borderRadius","width","height","display","alignItems","justifyContent","marginBottom","marginRight","cursor","overflow","backgroundColor","maxWidth","maxHeight","filter","color","fontSize","fontFamily","paddingLeft","fontWeight","_ref2","destinationType","srcImage","navigate","useNavigate","_jsxs","onClick","IAM_PAGES","EVENT_DESTINATIONS_ADD","className","src","alt","withLogos","destinationList","elService","logo","database","category","DestType","DB","queue","Queue","functions","Func","EventTypeSelector","dispatch","useAppDispatch","useEffect","setHelpName","Fragment","PageHeaderWrapper","label","BackLink","EVENT_DESTINATIONS","actions","HelpMenu","PageLayout","FormLayout","helpBox","paddingBottom","typesSelection","iconContainer","map","item","DestinationButton","actionTrigger","targetTitle","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","element","service_name","service","account_id","name","status","getImgBaseURL","document","baseURI","commonFields","required","tooltip","type","placeholder","removeEmptyFields","formFields","field","value","notificationEndpointsFields","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis","getNotificationConfigKey","serviceName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8060.d2d3cabe.chunk.js b/portal-ui/build/static/js/8060.d2d3cabe.chunk.js
deleted file mode 100644
index 8a19f9df3..000000000
--- a/portal-ui/build/static/js/8060.d2d3cabe.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8060],{18060:(e,t,o)=>{o.r(t),o.d(t,{default:()=>_});var n=o(72791),r=o(57689),a=o(29945),i=o(61757),l=o(23814),s=o(56087),c=o(80184);const p=()=>(0,c.jsx)(a.KfX,{iconComponent:(0,c.jsx)(a.HNx,{}),title:"What are Event Destinations?",help:(0,c.jsx)(a.xuv,{sx:{paddingTop:"20px"},children:"MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications."})});var d=o(79844),u=o(26181),g=o.n(u);const m=o(16444).ZP.button((e=>{let{theme:t}=e;return{background:g()(t,"boxBackground","#FFF"),border:"".concat(g()(t,"borderColor","#E2E2E2")," 1px solid"),borderRadius:5,width:250,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,marginRight:8,cursor:"pointer",overflow:"hidden","&:hover":{backgroundColor:g()(t,"buttons.regular.hover.background","#ebebeb")},"& .imageContainer":{width:80,"& .logoButton":{maxWidth:46,maxHeight:46,filter:"drop-shadow(1px 1px 8px #fff)"}},"& .lambdaNotifTitle":{color:g()(t,"buttons.callAction.enabled.background","#07193E"),fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18,fontWeight:"bold"}}})),h=e=>{let{destinationType:t,srcImage:o,title:n}=e;const a=(0,r.s0)();return(0,c.jsxs)(m,{onClick:()=>{a("".concat(s.gA.EVENT_DESTINATIONS_ADD,"/").concat(t))},children:[(0,c.jsx)("span",{className:"imageContainer",children:(0,c.jsx)("img",{src:o,className:"logoButton",alt:n})}),(0,c.jsx)("span",{className:"lambdaNotifTitle",children:n})]})};var f=o(99670),y=o(44690),b=o(87995);const T=i.BI.filter((e=>""!==e.logo)),S=T.filter((e=>e.category===i.z5.DB)),v=T.filter((e=>e.category===i.z5.Queue)),k=T.filter((e=>e.category===i.z5.Func)),_=()=>{const e=(0,r.s0)(),t=(0,y.TL)();return(0,n.useEffect)((()=>{t((0,b.Sc)("notification_type_selector"))}),[]),(0,c.jsxs)(n.Fragment,{children:[(0,c.jsx)(d.Z,{label:(0,c.jsx)(n.Fragment,{children:(0,c.jsx)(a.hbI,{label:"Event Destinations",onClick:()=>e(s.gA.EVENT_DESTINATIONS)})}),actions:(0,c.jsx)(f.Z,{})}),(0,c.jsx)(a.Xgh,{children:(0,c.jsx)(a.ltY,{helpBox:(0,c.jsx)(p,{}),children:(0,c.jsxs)(a.xuv,{children:[(0,c.jsx)(a.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Queue"}),(0,c.jsx)(a.xuv,{sx:{...l.fc.iconContainer},children:v.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))}),(0,c.jsx)(a.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Database"}),(0,c.jsx)(a.xuv,{sx:{...l.fc.iconContainer},children:S.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))}),(0,c.jsx)(a.xuv,{sx:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Functions"}),(0,c.jsx)(a.xuv,{sx:{...l.fc.iconContainer},children:k.map((e=>(0,c.jsx)(h,{destinationType:e.actionTrigger,srcImage:e.logo,title:e.targetTitle},"icon-".concat(e.targetTitle))))})]})})})]})}},61757:(e,t,o)=>{o.d(t,{BI:()=>h,DD:()=>y,L:()=>S,dM:()=>r,ee:()=>n,fk:()=>g,oj:()=>b,z5:()=>m});const n="notify_postgres",r="notify_mysql",a="notify_kafka",i="notify_amqp",l="notify_mqtt",s="notify_redis",c="notify_nats",p="notify_elasticsearch",d="notify_webhook",u="notify_nsq",g=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class m{}m.DB="database",m.Queue="queue",m.Func="functions";const h=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg",category:m.DB},{actionTrigger:a,targetTitle:"Kafka",logo:"/kafka-logo.svg",category:m.Queue},{actionTrigger:i,targetTitle:"AMQP",logo:"/amqp-logo.svg",category:m.Queue},{actionTrigger:l,targetTitle:"MQTT",logo:"/mqtt-logo.svg",category:m.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"/redis-logo.svg",category:m.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"/nats-logo.svg",category:m.Queue},{actionTrigger:r,targetTitle:"Mysql",logo:"/mysql-logo.svg",category:m.DB},{actionTrigger:p,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg",category:m.DB},{actionTrigger:d,targetTitle:"Webhook",logo:"/webhooks-logo.svg",category:m.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"/nsq-logo.svg",category:m.Queue}],f=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],y=e=>e.filter((e=>""!==e.value)),b={[a]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...f],[i]:[{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"},...f],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...f],[l]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...f],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...f],[p]:[{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"},...f],[d]:[{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"},...f],[u]:[{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"},...f]},T={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},S=e=>T[e]}}]);
-//# sourceMappingURL=8060.d2d3cabe.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8060.d2d3cabe.chunk.js.map b/portal-ui/build/static/js/8060.d2d3cabe.chunk.js.map
deleted file mode 100644
index 19daf2577..000000000
--- a/portal-ui/build/static/js/8060.d2d3cabe.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/8060.d2d3cabe.chunk.js","mappings":"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","sources":["screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx","screens/Console/EventDestinations/DestinationButton.tsx","screens/Console/EventDestinations/EventTypeSelector.tsx","screens/Console/EventDestinations/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\n\nimport { HelpBox, LambdaNotificationsIcon, Box } from \"mds\";\n\nconst NotificationEndpointTypeSelectorHelpBox = () => {\n return (\n }\n title={\"What are Event Destinations?\"}\n help={\n \n MinIO bucket notifications allow administrators to send notifications\n to supported external services on certain object or bucket events.\n MinIO supports bucket and object-level S3 events similar to the Amazon\n S3 Event Notifications.\n \n }\n />\n );\n};\n\nexport default NotificationEndpointTypeSelectorHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { useNavigate } from \"react-router-dom\";\nimport styled from \"styled-components\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IDestinationButton {\n destinationType: string;\n srcImage: string;\n title: string;\n}\n\nconst DestinationButtonBase = styled.button(({ theme }) => ({\n background: get(theme, \"boxBackground\", \"#FFF\"),\n border: `${get(theme, \"borderColor\", \"#E2E2E2\")} 1px solid`,\n borderRadius: 5,\n width: 250,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n marginRight: 8,\n cursor: \"pointer\",\n overflow: \"hidden\",\n \"&:hover\": {\n backgroundColor: get(theme, \"buttons.regular.hover.background\", \"#ebebeb\"),\n },\n \"& .imageContainer\": {\n width: 80,\n \"& .logoButton\": {\n maxWidth: 46,\n maxHeight: 46,\n filter: \"drop-shadow(1px 1px 8px #fff)\",\n },\n },\n \"& .lambdaNotifTitle\": {\n color: get(theme, \"buttons.callAction.enabled.background\", \"#07193E\"),\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n fontWeight: \"bold\",\n },\n}));\n\nconst DestinationButton = ({\n destinationType,\n srcImage,\n title,\n}: IDestinationButton) => {\n const navigate = useNavigate();\n\n return (\n {\n navigate(`${IAM_PAGES.EVENT_DESTINATIONS_ADD}/${destinationType}`);\n }}\n >\n \n \n \n {title}\n \n );\n};\n\nexport default DestinationButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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 { useNavigate } from \"react-router-dom\";\nimport { BackLink, Box, FormLayout, PageLayout } from \"mds\";\nimport { destinationList, DestType } from \"./utils\";\nimport { typesSelection } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport NotificationEndpointTypeSelectorHelpBox from \"../Account/NotificationEndpointTypeSelectorHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport DestinationButton from \"./DestinationButton\";\n\nimport HelpMenu from \"../HelpMenu\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setHelpName } from \"../../../systemSlice\";\n\nconst withLogos = destinationList.filter((elService) => elService.logo !== \"\");\nconst database = withLogos.filter(\n (elService) => elService.category === DestType.DB,\n);\nconst queue = withLogos.filter(\n (elService) => elService.category === DestType.Queue,\n);\nconst functions = withLogos.filter(\n (elService) => elService.category === DestType.Func,\n);\n\nconst EventTypeSelector = () => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"notification_type_selector\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n \n navigate(IAM_PAGES.EVENT_DESTINATIONS)}\n />\n \n }\n actions={}\n />\n \n }>\n \n \n Queue\n \n \n {queue.map((item) => {\n return (\n \n );\n })}\n \n \n Database\n \n \n {database.map((item) => {\n return (\n \n );\n })}\n \n \n Functions\n \n \n {functions.map((item) => {\n return (\n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default EventTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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 name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from restapi/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["NotificationEndpointTypeSelectorHelpBox","_jsx","HelpBox","iconComponent","LambdaNotificationsIcon","title","help","Box","sx","paddingTop","children","DestinationButtonBase","styled","button","_ref","theme","background","get","border","concat","borderRadius","width","height","display","alignItems","justifyContent","marginBottom","marginRight","cursor","overflow","backgroundColor","maxWidth","maxHeight","filter","color","fontSize","fontFamily","paddingLeft","fontWeight","_ref2","destinationType","srcImage","navigate","useNavigate","_jsxs","onClick","IAM_PAGES","EVENT_DESTINATIONS_ADD","className","src","alt","withLogos","destinationList","elService","logo","database","category","DestType","DB","queue","Queue","functions","Func","EventTypeSelector","dispatch","useAppDispatch","useEffect","setHelpName","Fragment","PageHeaderWrapper","label","BackLink","EVENT_DESTINATIONS","actions","HelpMenu","PageLayout","FormLayout","helpBox","paddingBottom","typesSelection","iconContainer","map","item","DestinationButton","actionTrigger","targetTitle","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","element","service_name","service","account_id","name","status","commonFields","required","tooltip","type","placeholder","removeEmptyFields","formFields","field","value","notificationEndpointsFields","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis","getNotificationConfigKey","serviceName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/808.a4483973.chunk.js b/portal-ui/build/static/js/808.a4483973.chunk.js
new file mode 100644
index 000000000..7cd1c8a2f
--- /dev/null
+++ b/portal-ui/build/static/js/808.a4483973.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[808],{75578:(e,t,o)=>{o.d(t,{Z:()=>r});var n=o(72791),a=o(80184);const r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(o){return(0,a.jsx)(n.Suspense,{fallback:t,children:(0,a.jsx)(e,{...o})})}}},50808:(e,t,o)=>{o.r(t),o.d(t,{default:()=>x});var n=o(72791),a=o(26181),r=o.n(a),l=o(29945),i=o(57689),s=o(31776),c=o(82342),p=o(61757),d=o(56087),u=o(87995),g=o(44690),m=o(53669),h=o(75578),f=o(79844),y=o(16444),b=o(80184);const S=y.ZP.div((e=>{let{theme:t}=e;return{background:r()(t,"boxBackground","#fff"),border:"".concat(r()(t,"borderColor","#E5E5E5")," 1px solid"),borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden","& .logoButton":{height:"80px"},"& .imageContainer":{backgroundColor:r()(t,"bgColor","#fff"),display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46,filter:"drop-shadow(1px 1px 8px #fff)"}},"& .titleBox":{color:r()(t,"fontColor","#000"),fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18}}})),T=e=>{let{logoSrc:t,title:o}=e;return(0,b.jsxs)(S,{children:[(0,b.jsx)(l.xuv,{className:"imageContainer",children:(0,b.jsx)("img",{src:t,className:"logoButton",alt:o})}),(0,b.jsx)(l.xuv,{className:"titleBox",children:(0,b.jsxs)("b",{children:[o," Event Destination"]})})]})};var v=o(99670);const _=(0,h.Z)(n.lazy((()=>o.e(9059).then(o.bind(o,9059))))),k=(0,h.Z)(n.lazy((()=>o.e(4770).then(o.bind(o,94770))))),E=(0,h.Z)(n.lazy((()=>o.e(6247).then(o.bind(o,56247))))),x=e=>{let{saveAndRefresh:t}=e;const o=(0,g.TL)(),a=(0,i.s0)(),h=(0,i.UO)(),[y,S]=(0,n.useState)([]),[x,A]=(0,n.useState)(""),[q,L]=(0,n.useState)(!1),C=h.service||"";(0,n.useEffect)((()=>{if(q){const e={key_values:(0,p.DD)(y)};s.h.configs.setConfig("".concat(C,":").concat(x),e).then((()=>{L(!1),o((0,u.cN)(!0)),o((0,m.iP)(!0)),a(d.gA.EVENT_DESTINATIONS)})).catch((e=>{L(!1),o((0,u.Ih)((0,c.g)(e.error)))}))}}),[q,C,y,t,o,a,x]);const j=(0,n.useCallback)((e=>{S(e)}),[S]);let w;switch(C){case p.ee:w=(0,b.jsx)(E,{onChange:j});break;case p.dM:w=(0,b.jsx)(_,{onChange:j});break;default:{const e=r()(p.oj,C,[]);w=(0,b.jsx)(k,{fields:e,onChange:j})}}const N=p.BI.find((e=>e.actionTrigger===C));return(0,n.useEffect)((()=>{o((0,u.Sc)("add_notification_endpoint"))}),[]),(0,b.jsxs)(n.Fragment,{children:[(0,b.jsx)(f.Z,{label:(0,b.jsx)(n.Fragment,{children:(0,b.jsx)(l.hbI,{label:"Event Destinations",onClick:()=>a(d.gA.EVENT_DESTINATIONS_ADD)})}),actions:(0,b.jsx)(v.Z,{})}),(0,b.jsx)(l.Xgh,{children:(0,b.jsx)("form",{noValidate:!0,onSubmit:e=>{e.preventDefault(),L(!0)},children:""!==C&&(0,b.jsxs)(n.Fragment,{children:[(0,b.jsx)(l.rjZ,{item:!0,xs:12,children:N&&(0,b.jsx)(T,{logoSrc:N.logo,title:N?N.targetTitle:""})}),(0,b.jsxs)(l.ltY,{children:[(0,b.jsx)(l.Wzg,{id:"identifier-field",name:"identifier-field",label:"Identifier",value:x,onChange:e=>A(e.target.value),tooltip:"Unique descriptive string for this destination",placeholder:"Enter Destination Identifier",required:!0}),(0,b.jsx)(l.rjZ,{item:!0,xs:12,children:w}),(0,b.jsx)(l.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end",marginTop:15},children:(0,b.jsx)(l.zxk,{id:"save-notification-target",type:"submit",variant:"callAction",disabled:q||""===x.trim(),label:"Save Event Destination"})})]})]})})})]})}},61757:(e,t,o)=>{o.d(t,{BI:()=>f,DD:()=>b,L:()=>v,dM:()=>a,ee:()=>n,fk:()=>g,oj:()=>S,z5:()=>m});const n="notify_postgres",a="notify_mysql",r="notify_kafka",l="notify_amqp",i="notify_mqtt",s="notify_redis",c="notify_nats",p="notify_elasticsearch",d="notify_webhook",u="notify_nsq",g=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class m{}m.DB="database",m.Queue="queue",m.Func="functions";const h=()=>"".concat(document.baseURI),f=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"".concat(h(),"postgres-logo.svg"),category:m.DB},{actionTrigger:r,targetTitle:"Kafka",logo:"".concat(h(),"kafka-logo.svg"),category:m.Queue},{actionTrigger:l,targetTitle:"AMQP",logo:"".concat(h(),"amqp-logo.svg"),category:m.Queue},{actionTrigger:i,targetTitle:"MQTT",logo:"".concat(h(),"mqtt-logo.svg"),category:m.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"".concat(h(),"redis-logo.svg"),category:m.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"".concat(h(),"nats-logo.svg"),category:m.Queue},{actionTrigger:a,targetTitle:"Mysql",logo:"".concat(h(),"mysql-logo.svg"),category:m.DB},{actionTrigger:p,targetTitle:"Elastic Search",logo:"".concat(h(),"elasticsearch-logo.svg"),category:m.DB},{actionTrigger:d,targetTitle:"Webhook",logo:"".concat(h(),"webhooks-logo.svg"),category:m.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"".concat(h(),"nsq-logo.svg"),category:m.Queue}],y=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],b=e=>e.filter((e=>""!==e.value)),S={[r]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...y],[l]:[{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"},...y],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...y],[i]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...y],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...y],[p]:[{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"},...y],[d]:[{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"},...y],[u]:[{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"},...y]},T={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},v=e=>T[e]}}]);
+//# sourceMappingURL=808.a4483973.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/808.a4483973.chunk.js.map b/portal-ui/build/static/js/808.a4483973.chunk.js.map
new file mode 100644
index 000000000..ff00ae34f
--- /dev/null
+++ b/portal-ui/build/static/js/808.a4483973.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/808.a4483973.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/EventDestinations/TargetTitle.tsx","screens/Console/EventDestinations/AddEventDestination.tsx","screens/Console/EventDestinations/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, { 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) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport { Box } from \"mds\";\n\ninterface ITargetTitle {\n logoSrc: string;\n title: string;\n}\n\nconst TargetBase = styled.div(({ theme }) => ({\n background: get(theme, \"boxBackground\", \"#fff\"),\n border: `${get(theme, \"borderColor\", \"#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 \"& .logoButton\": {\n height: \"80px\",\n },\n \"& .imageContainer\": {\n backgroundColor: get(theme, \"bgColor\", \"#fff\"),\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 filter: \"drop-shadow(1px 1px 8px #fff)\",\n },\n },\n \"& .titleBox\": {\n color: get(theme, \"fontColor\", \"#000\"),\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n },\n}));\n\nconst TargetTitle = ({ logoSrc, title }: ITargetTitle) => {\n return (\n \n \n \n \n\n \n {title} Event Destination\n \n \n );\n};\n\nexport default TargetTitle;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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 get from \"lodash/get\";\nimport { BackLink, Button, FormLayout, Grid, InputBox, PageLayout } from \"mds\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport {\n destinationList,\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setDestinationLoading } from \"./destinationsSlice\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport TargetTitle from \"./TargetTitle\";\nimport HelpMenu from \"../HelpMenu\";\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\ninterface IAddNotificationEndpointProps {\n saveAndRefresh: any;\n}\n\nconst AddEventDestination = ({\n saveAndRefresh,\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [identifier, setIdentifier] = useState(\"\");\n const [saving, setSaving] = useState(false);\n const service = params.service || \"\";\n\n //Effects\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api.configs\n .setConfig(`${service}:${identifier}`, payload)\n .then(() => {\n setSaving(false);\n dispatch(setServerNeedsRestart(true));\n dispatch(setDestinationLoading(true));\n navigate(IAM_PAGES.EVENT_DESTINATIONS);\n })\n .catch((err) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [\n saving,\n service,\n valuesArr,\n saveAndRefresh,\n dispatch,\n navigate,\n identifier,\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: IElementValue[]) => {\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 = destinationList.find(\n (element) => element.actionTrigger === service,\n );\n\n useEffect(() => {\n dispatch(setHelpName(\"add_notification_endpoint\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD)}\n />\n \n }\n actions={}\n />\n\n \n \n \n \n );\n};\n\nexport default AddEventDestination;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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\";\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[],\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nconst getImgBaseURL = () => {\n return `${document.baseURI}`;\n};\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: `${getImgBaseURL()}postgres-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: `${getImgBaseURL()}kafka-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: `${getImgBaseURL()}amqp-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: `${getImgBaseURL()}mqtt-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: `${getImgBaseURL()}redis-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: `${getImgBaseURL()}nats-logo.svg`,\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: `${getImgBaseURL()}mysql-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: `${getImgBaseURL()}elasticsearch-logo.svg`,\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: `${getImgBaseURL()}webhooks-logo.svg`,\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: `${getImgBaseURL()}nsq-logo.svg`,\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from api/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","TargetBase","styled","div","_ref","theme","background","get","border","concat","borderRadius","height","display","alignItems","justifyContent","marginBottom","cursor","padding","overflow","backgroundColor","width","maxWidth","maxHeight","filter","color","fontSize","fontFamily","paddingLeft","_ref2","logoSrc","title","_jsxs","Box","className","src","alt","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","saveAndRefresh","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","valuesArr","setValueArr","useState","identifier","setIdentifier","saving","setSaving","service","useEffect","payload","key_values","removeEmptyFields","api","configs","setConfig","then","setServerNeedsRestart","setDestinationLoading","IAM_PAGES","EVENT_DESTINATIONS","catch","err","setErrorSnackMessage","errorToHandler","error","onValueChange","useCallback","newValue","srvComponent","notifyPostgres","onChange","notifyMysql","fields","notificationEndpointsFields","targetElement","destinationList","find","element","actionTrigger","setHelpName","Fragment","PageHeaderWrapper","label","BackLink","onClick","EVENT_DESTINATIONS_ADD","actions","HelpMenu","PageLayout","noValidate","onSubmit","event","preventDefault","Grid","item","xs","TargetTitle","logo","targetTitle","FormLayout","InputBox","id","name","value","e","target","tooltip","placeholder","required","sx","marginTop","Button","type","variant","disabled","trim","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","DestType","DB","Queue","Func","getImgBaseURL","document","baseURI","category","commonFields","formFields","field","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis","getNotificationConfigKey","serviceName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/808.db305a8e.chunk.js b/portal-ui/build/static/js/808.db305a8e.chunk.js
deleted file mode 100644
index 3f6d16c4b..000000000
--- a/portal-ui/build/static/js/808.db305a8e.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[808],{75578:(e,t,o)=>{o.d(t,{Z:()=>a});var n=o(72791),r=o(80184);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(o){return(0,r.jsx)(n.Suspense,{fallback:t,children:(0,r.jsx)(e,{...o})})}}},50808:(e,t,o)=>{o.r(t),o.d(t,{default:()=>x});var n=o(72791),r=o(26181),a=o.n(r),l=o(29945),i=o(57689),s=o(31776),c=o(82342),p=o(61757),d=o(56087),u=o(87995),g=o(44690),m=o(53669),h=o(75578),f=o(79844),y=o(16444),b=o(80184);const S=y.ZP.div((e=>{let{theme:t}=e;return{background:a()(t,"boxBackground","#fff"),border:"".concat(a()(t,"borderColor","#E5E5E5")," 1px solid"),borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden","& .logoButton":{height:"80px"},"& .imageContainer":{backgroundColor:a()(t,"bgColor","#fff"),display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46,filter:"drop-shadow(1px 1px 8px #fff)"}},"& .titleBox":{color:a()(t,"fontColor","#000"),fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18}}})),T=e=>{let{logoSrc:t,title:o}=e;return(0,b.jsxs)(S,{children:[(0,b.jsx)(l.xuv,{className:"imageContainer",children:(0,b.jsx)("img",{src:t,className:"logoButton",alt:o})}),(0,b.jsx)(l.xuv,{className:"titleBox",children:(0,b.jsxs)("b",{children:[o," Event Destination"]})})]})};var v=o(99670);const _=(0,h.Z)(n.lazy((()=>o.e(9059).then(o.bind(o,9059))))),k=(0,h.Z)(n.lazy((()=>o.e(4770).then(o.bind(o,94770))))),E=(0,h.Z)(n.lazy((()=>o.e(6247).then(o.bind(o,56247))))),x=e=>{let{saveAndRefresh:t}=e;const o=(0,g.TL)(),r=(0,i.s0)(),h=(0,i.UO)(),[y,S]=(0,n.useState)([]),[x,A]=(0,n.useState)(""),[q,L]=(0,n.useState)(!1),C=h.service||"";(0,n.useEffect)((()=>{if(q){const e={key_values:(0,p.DD)(y)};s.h.configs.setConfig("".concat(C,":").concat(x),e).then((()=>{L(!1),o((0,u.cN)(!0)),o((0,m.iP)(!0)),r(d.gA.EVENT_DESTINATIONS)})).catch((e=>{L(!1),o((0,u.Ih)((0,c.g)(e.error)))}))}}),[q,C,y,t,o,r,x]);const j=(0,n.useCallback)((e=>{S(e)}),[S]);let w;switch(C){case p.ee:w=(0,b.jsx)(E,{onChange:j});break;case p.dM:w=(0,b.jsx)(_,{onChange:j});break;default:{const e=a()(p.oj,C,[]);w=(0,b.jsx)(k,{fields:e,onChange:j})}}const N=p.BI.find((e=>e.actionTrigger===C));return(0,n.useEffect)((()=>{o((0,u.Sc)("add_notification_endpoint"))}),[]),(0,b.jsxs)(n.Fragment,{children:[(0,b.jsx)(f.Z,{label:(0,b.jsx)(n.Fragment,{children:(0,b.jsx)(l.hbI,{label:"Event Destinations",onClick:()=>r(d.gA.EVENT_DESTINATIONS_ADD)})}),actions:(0,b.jsx)(v.Z,{})}),(0,b.jsx)(l.Xgh,{children:(0,b.jsx)("form",{noValidate:!0,onSubmit:e=>{e.preventDefault(),L(!0)},children:""!==C&&(0,b.jsxs)(n.Fragment,{children:[(0,b.jsx)(l.rjZ,{item:!0,xs:12,children:N&&(0,b.jsx)(T,{logoSrc:N.logo,title:N?N.targetTitle:""})}),(0,b.jsxs)(l.ltY,{children:[(0,b.jsx)(l.Wzg,{id:"identifier-field",name:"identifier-field",label:"Identifier",value:x,onChange:e=>A(e.target.value),tooltip:"Unique descriptive string for this destination",placeholder:"Enter Destination Identifier",required:!0}),(0,b.jsx)(l.rjZ,{item:!0,xs:12,children:w}),(0,b.jsx)(l.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end",marginTop:15},children:(0,b.jsx)(l.zxk,{id:"save-notification-target",type:"submit",variant:"callAction",disabled:q||""===x.trim(),label:"Save Event Destination"})})]})]})})})]})}},61757:(e,t,o)=>{o.d(t,{BI:()=>h,DD:()=>y,L:()=>T,dM:()=>r,ee:()=>n,fk:()=>g,oj:()=>b,z5:()=>m});const n="notify_postgres",r="notify_mysql",a="notify_kafka",l="notify_amqp",i="notify_mqtt",s="notify_redis",c="notify_nats",p="notify_elasticsearch",d="notify_webhook",u="notify_nsq",g=e=>e.map((e=>({service_name:"".concat(e.service,":").concat(e.account_id),name:e.service,account_id:e.account_id,status:e.status})));class m{}m.DB="database",m.Queue="queue",m.Func="functions";const h=[{actionTrigger:n,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg",category:m.DB},{actionTrigger:a,targetTitle:"Kafka",logo:"/kafka-logo.svg",category:m.Queue},{actionTrigger:l,targetTitle:"AMQP",logo:"/amqp-logo.svg",category:m.Queue},{actionTrigger:i,targetTitle:"MQTT",logo:"/mqtt-logo.svg",category:m.Queue},{actionTrigger:s,targetTitle:"Redis",logo:"/redis-logo.svg",category:m.Queue},{actionTrigger:c,targetTitle:"NATS",logo:"/nats-logo.svg",category:m.Queue},{actionTrigger:r,targetTitle:"Mysql",logo:"/mysql-logo.svg",category:m.DB},{actionTrigger:p,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg",category:m.DB},{actionTrigger:d,targetTitle:"Webhook",logo:"/webhooks-logo.svg",category:m.Func},{actionTrigger:u,targetTitle:"NSQ",logo:"/nsq-logo.svg",category:m.Queue}],f=[{name:"queue_dir",label:"Queue Directory",required:!1,tooltip:"Staging directory 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 custom notes if any"}],y=e=>e.filter((e=>""!==e.value)),b={[a]:[{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 authorization",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 authorization",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS authorization",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"},...f],[l]:[{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"},...f],[s]:[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address e.g. `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"},...f],[i]:[{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 Interval"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"},...f],[c]:[{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 authorization",type:"string",placeholder:"Enter Client Key"},...f],[p]:[{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"},...f],[d]:[{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"},...f],[u]:[{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"},...f]},S={webhook:"notify_webhook",amqp:"notify_amqp",kafka:"notify_kafka",mqtt:"notify_mqtt",nats:"notify_nats",nsq:"notify_nsq",mysql:"notify_mysql",postgresql:"notify_postgres",elasticsearch:"notify_elasticsearch",redis:"notify_redis"},T=e=>S[e]}}]);
-//# sourceMappingURL=808.db305a8e.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/808.db305a8e.chunk.js.map b/portal-ui/build/static/js/808.db305a8e.chunk.js.map
deleted file mode 100644
index c1c512f5c..000000000
--- a/portal-ui/build/static/js/808.db305a8e.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/808.db305a8e.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/EventDestinations/TargetTitle.tsx","screens/Console/EventDestinations/AddEventDestination.tsx","screens/Console/EventDestinations/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, { 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) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport { Box } from \"mds\";\n\ninterface ITargetTitle {\n logoSrc: string;\n title: string;\n}\n\nconst TargetBase = styled.div(({ theme }) => ({\n background: get(theme, \"boxBackground\", \"#fff\"),\n border: `${get(theme, \"borderColor\", \"#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 \"& .logoButton\": {\n height: \"80px\",\n },\n \"& .imageContainer\": {\n backgroundColor: get(theme, \"bgColor\", \"#fff\"),\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 filter: \"drop-shadow(1px 1px 8px #fff)\",\n },\n },\n \"& .titleBox\": {\n color: get(theme, \"fontColor\", \"#000\"),\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n },\n}));\n\nconst TargetTitle = ({ logoSrc, title }: ITargetTitle) => {\n return (\n \n \n \n \n\n \n {title} Event Destination\n \n \n );\n};\n\nexport default TargetTitle;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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 get from \"lodash/get\";\nimport { BackLink, Button, FormLayout, Grid, InputBox, PageLayout } from \"mds\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport {\n destinationList,\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setDestinationLoading } from \"./destinationsSlice\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport TargetTitle from \"./TargetTitle\";\nimport HelpMenu from \"../HelpMenu\";\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\ninterface IAddNotificationEndpointProps {\n saveAndRefresh: any;\n}\n\nconst AddEventDestination = ({\n saveAndRefresh,\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [identifier, setIdentifier] = useState(\"\");\n const [saving, setSaving] = useState(false);\n const service = params.service || \"\";\n\n //Effects\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api.configs\n .setConfig(`${service}:${identifier}`, payload)\n .then(() => {\n setSaving(false);\n dispatch(setServerNeedsRestart(true));\n dispatch(setDestinationLoading(true));\n navigate(IAM_PAGES.EVENT_DESTINATIONS);\n })\n .catch((err) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [\n saving,\n service,\n valuesArr,\n saveAndRefresh,\n dispatch,\n navigate,\n identifier,\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: IElementValue[]) => {\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 = destinationList.find(\n (element) => element.actionTrigger === service,\n );\n\n useEffect(() => {\n dispatch(setHelpName(\"add_notification_endpoint\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.EVENT_DESTINATIONS_ADD)}\n />\n \n }\n actions={}\n />\n\n \n \n \n \n );\n};\n\nexport default AddEventDestination;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 \"api/consoleApi\";\nimport { IElementValue } from \"../Configurations/types\";\nimport { TransformedEndpointItem } from \"./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 name: element.service,\n account_id: element.account_id,\n status: element.status,\n };\n }) as TransformedEndpointItem[];\n};\n\nexport class DestType {\n static DB: string = \"database\";\n static Queue: string = \"queue\";\n static Func: string = \"functions\";\n}\n\nexport const destinationList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n category: DestType.Queue,\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n category: DestType.DB,\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n category: DestType.Func,\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n category: DestType.Queue,\n },\n];\n\nconst commonFields = [\n {\n name: \"queue_dir\",\n label: \"Queue Directory\",\n required: false,\n\n tooltip: \"Staging directory 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 custom notes if any\",\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 authorization\",\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 authorization\",\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 authorization\",\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 e.g. `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 Interval\",\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 authorization\",\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\nconst serviceToConfigMap: Record = {\n webhook: \"notify_webhook\",\n amqp: \"notify_amqp\",\n kafka: \"notify_kafka\",\n mqtt: \"notify_mqtt\",\n nats: \"notify_nats\",\n nsq: \"notify_nsq\",\n mysql: \"notify_mysql\",\n postgresql: \"notify_postgres\", //looks different in server response(postgresql as opposed to postgres) from restapi/admin_notification_endpoints.go\n elasticsearch: \"notify_elasticsearch\",\n redis: \"notify_redis\",\n};\n\nexport const getNotificationConfigKey = (serviceName: string) => {\n return serviceToConfigMap[serviceName];\n};\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","TargetBase","styled","div","_ref","theme","background","get","border","concat","borderRadius","height","display","alignItems","justifyContent","marginBottom","cursor","padding","overflow","backgroundColor","width","maxWidth","maxHeight","filter","color","fontSize","fontFamily","paddingLeft","_ref2","logoSrc","title","_jsxs","Box","className","src","alt","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","saveAndRefresh","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","valuesArr","setValueArr","useState","identifier","setIdentifier","saving","setSaving","service","useEffect","payload","key_values","removeEmptyFields","api","configs","setConfig","then","setServerNeedsRestart","setDestinationLoading","IAM_PAGES","EVENT_DESTINATIONS","catch","err","setErrorSnackMessage","errorToHandler","error","onValueChange","useCallback","newValue","srvComponent","notifyPostgres","onChange","notifyMysql","fields","notificationEndpointsFields","targetElement","destinationList","find","element","actionTrigger","setHelpName","Fragment","PageHeaderWrapper","label","BackLink","onClick","EVENT_DESTINATIONS_ADD","actions","HelpMenu","PageLayout","noValidate","onSubmit","event","preventDefault","Grid","item","xs","TargetTitle","logo","targetTitle","FormLayout","InputBox","id","name","value","e","target","tooltip","placeholder","required","sx","marginTop","Button","type","variant","disabled","trim","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","DestType","DB","Queue","Func","category","commonFields","formFields","field","serviceToConfigMap","webhook","amqp","kafka","mqtt","nats","nsq","mysql","postgresql","elasticsearch","redis","getNotificationConfigKey","serviceName"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8388.b826482a.chunk.js b/portal-ui/build/static/js/8388.0b3d6077.chunk.js
similarity index 50%
rename from portal-ui/build/static/js/8388.b826482a.chunk.js
rename to portal-ui/build/static/js/8388.0b3d6077.chunk.js
index c5bf1e7d0..eee75711c 100644
--- a/portal-ui/build/static/js/8388.b826482a.chunk.js
+++ b/portal-ui/build/static/js/8388.0b3d6077.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8388],{63856:(e,t,i)=>{i.d(t,{Z:()=>o});var n=i(72791),a=i(29945),l=i(80184);const o=e=>{let{timeStart:t,setTimeStart:i,timeEnd:o,setTimeEnd:s,triggerSync:r,label:d="Filter:",startLabel:c="Start Time:",endLabel:x="End Time:"}=e;return(0,l.jsx)(a.rjZ,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,l.jsxs)(a.xuv,{sx:{display:"grid",height:40,alignItems:"center",gridTemplateColumns:"auto 2fr auto",padding:0,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:5},["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr",height:"auto"},gap:"5px"},children:[(0,l.jsx)(a.xuv,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},className:"muted",children:d}),(0,l.jsxs)(a.xuv,{customBorderPadding:"0px",sx:{display:"grid",height:40,alignItems:"center",gridTemplateColumns:"1fr 1fr",gap:"8px",paddingLeft:"8px",paddingRight:"8px",["@media (max-width: ".concat(a.Egj.md,"px)")]:{height:"auto",gridTemplateColumns:"1fr"}},children:[(0,l.jsx)(a.YgR,{value:t,onChange:i,id:"stTime",secondsSelector:!1,pickerStartComponent:(0,l.jsxs)(n.Fragment,{children:[(0,l.jsx)(a.wZd,{}),(0,l.jsx)("span",{children:c})]})}),(0,l.jsx)(a.YgR,{value:o,onChange:s,id:"endTime",secondsSelector:!1,pickerStartComponent:(0,l.jsxs)(n.Fragment,{children:[(0,l.jsx)(a.wZd,{}),(0,l.jsx)("span",{children:x})]})})]}),r&&(0,l.jsx)(a.xuv,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},children:(0,l.jsx)(a.zxk,{id:"sync",type:"button",variant:"callAction",onClick:r,icon:(0,l.jsx)(a.bnu,{}),label:"Sync"})})]})})}},31300:(e,t,i)=>{i.d(t,{Z:()=>d});i(72791);var n=i(16444),a=i(26181),l=i.n(a),o=i(29945),s=i(80184);const r=n.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",maxWidth:"321px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",color:l()(t,"signalColors.main","#07193E"),"& .mainBox":{flex:1,display:"flex",padding:"0 8px 0 8px",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{padding:"0 10px 0 10px"},"& .indicatorIcon":{width:"20px",height:"20px",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},"& .indicatorContainer":{flex:1,display:"flex",flexFlow:"column","& .indicatorLabel":{fontSize:"16px",fontWeight:600},"& .counterIndicator":{display:"flex",alignItems:"center",gap:"5px",justifyContent:"space-between",paddingBottom:0,fontSize:"55px",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{paddingBottom:10,fontSize:"35px"},["@media (max-width: ".concat(o.Egj.lg,"px)")]:{fontSize:"45px"},["@media (max-width: ".concat(o.Egj.xl,"px)")]:{fontSize:"50px"},flexFlow:"row",fontWeight:600,"& .stat-text":{color:l()(t,"mutedText","#87888D"),fontSize:"12px",marginTop:"8px"},"& .stat-value":{textAlign:"center",height:"50px"},"& .min-icon":{marginRight:"8px",marginTop:"8px",height:"10px",width:"10px"}},"& .onlineCounter":{display:"flex",alignItems:"center",marginTop:"5px","& .min-icon":{fill:l()(t,"signalColors.good","#4CCB92")}},"& .offlineCount":{display:"flex",alignItems:"center",marginTop:"8px","& .min-icon":{fill:l()(t,"signalColors.danger","#C51B3F")}}}}}})),d=e=>{let{onlineCount:t=0,offlineCount:i=0,icon:n=null,label:a="",okStatusText:l="Online",notOkStatusText:d="Offline"}=e;return(0,s.jsx)(r,{children:(0,s.jsxs)(o.xuv,{className:"mainBox",children:[(0,s.jsxs)(o.xuv,{className:"indicatorContainer",children:[(0,s.jsx)(o.xuv,{className:"indicatorLabel",children:a}),(0,s.jsxs)(o.xuv,{className:"counterIndicator",children:[(0,s.jsxs)(o.xuv,{children:[(0,s.jsx)(o.xuv,{className:"stat-value",children:t}),(0,s.jsxs)(o.xuv,{className:"onlineCounter",children:[(0,s.jsx)(o.J$M,{}),(0,s.jsx)("div",{className:"stat-text",children:l})]})]}),(0,s.jsxs)(o.xuv,{children:[(0,s.jsx)(o.xuv,{className:"stat-value",children:i}),(0,s.jsxs)(o.xuv,{className:"offlineCount",children:[(0,s.jsx)(o.J$M,{})," ",(0,s.jsx)("div",{className:"stat-text",children:d})]})]})]})]}),(0,s.jsx)(o.xuv,{className:"indicatorIcon",children:n})]})})}},879:(e,t,i)=>{i.d(t,{D_:()=>o,Et:()=>a,GJ:()=>l,yh:()=>n});const n={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#FFBD62"},a=(e,t)=>e<=t/2?"bad":2!==t&&e===t/2+1?"warn":e===t?"good":void 0,l=e=>{switch(e){case"offline":return"bad";case"online":return"good";default:return"warn"}},o=(e,t)=>e<=t/2?"bad":e===t/2+1?"warn":e===t?"good":void 0},8388:(e,t,i)=>{i.r(t),i.d(t,{default:()=>st});var n=i(72791),a=i(29945),l=i(78687),o=i(44690),s=i(32110),r=i(46078),d=i(87995),c=i(26181),x=i.n(c);let u=function(e){return e.singleValue="singleValue",e.linearGraph="linearGraph",e.areaGraph="areaGraph",e.barChart="barChart",e.pieChart="pieChart",e.singleRep="singleRep",e.simpleWidget="simpleWidget",e}({});var m=i(45248),g=i(80184);const p=["#C4D4E9","#DCD1EE","#D1EEE7","#EEDED1","#AAF38F","#F9E6C5","#C83B51","#F4CECE","#D6D6D6"],h=e=>(0,m.v1)(e,"ns"),f=e=>parseInt(e).toString(10),j=[{id:1,title:"Uptime",data:"N/A",type:u.simpleWidget,widgetIcon:(0,g.jsx)(a.oNq,{}),labelDisplayFunction:m.v1},{id:50,title:"Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:p,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:u.pieChart,innerLabel:"N/A",labelDisplayFunction:m.ae},{id:51,title:"Usable Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:p,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:u.pieChart,innerLabel:"N/A",labelDisplayFunction:m.ae},{id:68,title:"Data Usage Growth",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.areaGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:52,title:"Object size distribution",data:[],widgetConfiguration:[{dataKey:"a",color:"#2781B0",background:{fill:"#EEF1F4"},greatestColor:"#081C42"}],customStructure:[{originTag:"LESS_THAN_1024_B",displayTag:"Less than 1024B"},{originTag:"BETWEEN_1024_B_AND_1_MB",displayTag:"Between 1024B and 1MB"},{originTag:"BETWEEN_1_MB_AND_10_MB",displayTag:"Between 1MB and 10MB"},{originTag:"BETWEEN_10_MB_AND_64_MB",displayTag:"Between 10MB and 64MB"},{originTag:"BETWEEN_64_MB_AND_128_MB",displayTag:"Between 64MB and 128MB"},{originTag:"BETWEEN_128_MB_AND_512_MB",displayTag:"Between 128MB and 512MB"},{originTag:"GREATER_THAN_512_MB",displayTag:"Greater than 512MB"}],type:u.barChart},{id:66,title:"Buckets",data:[],innerLabel:"N/A",type:u.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:44,title:"Objects",data:[],innerLabel:"N/A",type:u.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:63,title:"API Data Received Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000",strokeWidth:3}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:61,title:"Total Open FDs",data:[],innerLabel:"N/A",type:u.singleRep,color:"#22B573",fillColor:"#A6E8C4"},{id:62,title:"Total Goroutines",data:[],innerLabel:"N/A",type:u.singleRep,color:"#F7655E",fillColor:"#F4CECE"},{id:77,title:"Node CPU Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:60,title:"API Request Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:70,title:"API Data Sent Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:17,title:"Internode Data Transfer",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:73,title:"Node IO",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:80,title:"Time Since Last Heal Activity",data:"N/A",type:u.simpleWidget,widgetIcon:(0,g.jsx)(a.lnI,{}),labelDisplayFunction:h},{id:81,title:"Time Since Last Scan Activity",data:"N/A",type:u.simpleWidget,widgetIcon:(0,g.jsx)(a.MXM,{}),labelDisplayFunction:h},{id:71,title:"API Request Error Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue},{id:76,title:"Node Memory Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:74,title:"Drive Used Capacity",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:82,title:"Drives Free Inodes",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,disableYAxis:!0,xAxisFormatter:m.Ue},{id:11,title:"Node Syscalls",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:8,title:"Node File Descriptors",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:500,mergedPanels:[{id:53,title:"Online",data:"N/A",type:u.singleValue},{id:69,title:"Offline",data:"N/A",type:u.singleValue}],title:"Servers"},{id:501,mergedPanels:[{id:9,title:"Online",data:"N/A",type:u.singleValue},{id:78,title:"Offline",data:"N/A",type:u.singleValue}],title:"Drives"},{id:502,mergedPanels:[{id:65,title:"Upload",data:"N/A",type:u.singleValue,labelDisplayFunction:m.ae},{id:64,title:"Download",data:"N/A",type:u.singleValue,labelDisplayFunction:m.ae}],title:"Network"}],v=(e,t)=>{if(0===e.length)return["","0"];if("mean"===t){const t=e.reduce(((e,t)=>e+parseFloat(t[1])),0);return["",Math.floor(t/e.length).toString()]}{const t=e.sort(((e,t)=>e[0]-t[0]));return t[t.length-1]}},y=(e,t)=>{if(!e)return t;const i=e.type;switch(t.type){case u.singleValue:case u.simpleWidget:if("stat"===i||"singlestat"===i){let i=x()(e,"targets[0].result[0].values",[]);null===i&&(i=[]);const n=x()(e,"options.reduceOptions.calcs[0]","lastNotNull"),a=v(i,n),l=t.labelDisplayFunction?t.labelDisplayFunction(a[1]):a[1];return{...t,data:l}}break;case u.pieChart:if("gauge"===i){const i=x()(e,"options.reduceOptions.calcs[0]","lastNotNull");let n=x()(e,"targets",[]).filter((e=>null!==e));const a=n.map((e=>(e.result&&Array.isArray(e.result)?e.result:[]).map((t=>{const i=x()(t,"values",[]),n=Object.keys(t.metric),a=i.sort(((e,t)=>parseInt(e[0][1])-parseInt(t[0][1]))),l=t.metric[n[0]],o=a[a.length-1];return{name:l,value:parseInt(o[1]),legend:e.legendFormat}})))),l=n[0].result&&n[0].result.length>0?n[0].result[0].values:[],o=v(l,i),s=t.labelDisplayFunction?t.labelDisplayFunction(o[1]):o[1];return{...t,data:a,innerLabel:s}}break;case u.linearGraph:case u.areaGraph:if("graph"===i){let i=x()(e,"targets",[]);null===i&&(i=[]);const n=[],a=[];i.forEach(((e,t)=>{let i=x()(e,"result",[]);const l=e.legendFormat;null===i&&(i=[]),i.forEach((e=>{const i=((e,t)=>{const i=Object.keys(e),n=new RegExp("{{(".concat(i.join("|"),")}}"),"g");let a=t.replace(n,(t=>{const i=t.replace(/({{|}})/g,"");return e[i]}));const l=(a.match(/{{/g)||[]).length,o=(a.match(/}}/g)||[]).length;let s=a.replace(/{{(.*?)}}/g,"");return l===o&&0!==l&&0!==o&&(i.forEach((t=>{a=a.replace(t,e[t])})),s=a),s})(e.metric,l),o="key_".concat(t).concat(i);n.push({dataKey:o,keyLabel:i,lineColor:"",fillColor:""});let s=x()(e,"values",[]);null===s&&(s=[]),s.forEach((e=>{const t=a.findIndex((t=>t.name===e[0]));if(-1===t){let t={name:e[0]};t[o]=e[1],a.push(t)}else a[t][o]=e[1]}))}))}));const l=n.sort(((e,t)=>e.keyLabelt.keyLabel?1:0)).map(((e,t)=>({...e,lineColor:p[t]||(0,m.C5)(e.keyLabel),fillColor:p[t]||(0,m.C5)(e.keyLabel)}))),o=a.sort(((e,t)=>e.name-t.name));return{...t,widgetConfiguration:l,data:o}}break;case u.barChart:if("bargauge"===i){let i=x()(e,"targets[0].result",[]);null===i&&(i=[]);const n=(e,t)=>e[0]-t[0];let a=[];return a=t.customStructure?t.customStructure.map((e=>{const t=i.find((t=>t.metric.range===e.originTag)),a=x()(t,"values",[]).sort(n),l=a[a.length-1]||["","0"];return{name:e.displayTag,a:parseInt(l[1])}})):i.map((e=>{const t=Object.keys(e.metric),i=e.metric[t[0]],a=x()(e,"values",[]).sort(n),l=a[a.length-1]||["","0"];return{name:i,a:parseInt(l[1])}})),{...t,data:a}}break;case u.singleRep:if("stat"===i){let i=x()(e,"targets[0].result[0].values",[]);null===i&&(i=[]);const n=x()(e,"options.reduceOptions.calcs[0]","lastNotNull"),a=v(i,n),l=i.sort(((e,t)=>e[0]-t[0]));let o=[];1===l.length&&o.push({value:0}),l.forEach((e=>{o.push({value:parseInt(e[1])})}));const s=t.labelDisplayFunction?t.labelDisplayFunction(a[1]):a[1];return{...t,data:o,innerLabel:s}}}return t},C=e=>{const t=e.split(" "),i=()=>{let t=e;return isNaN(parseFloat(e))||(t=(0,m.nk)(parseFloat(e))),(0,g.jsx)(n.Fragment,{children:t})};return 2!==t.length?i():m.Dl.includes(t[1])?(0,g.jsxs)("span",{className:"commonValue",children:[t[0],(0,g.jsx)("span",{className:"unitText",children:t[1]})]}):i()};var w=i(16444),b=i(19913),S=i(38725),E=i(90466),T=i(12891),I=i(23782),N=i(41048),F=i(71827),A=i(23814),L=i(71080);const k=e=>{let{panelItem:t}=e;const i=(0,o.TL)();return(0,g.jsx)(a.xuv,{sx:{alignItems:"right",gap:"10px","& .link-text":{color:"#2781B0",fontSize:"12px",fontWeight:600},"& .zoom-graph-icon":{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},children:(0,g.jsx)("button",{onClick:()=>{i((0,L.xG)(t))},className:"zoom-graph-icon",children:(0,g.jsx)(a.Qq,{})})})};var W=i(91097);const R=e=>{let{title:t,componentRef:i,data:l}=e;const[s,r]=n.useState(null),c=Boolean(s),x=(0,o.TL)(),u=()=>{if(null!==l&&l.length>0)((e,t)=>{let i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+t),i.setAttribute("download",e),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)})(null!==t?(t+"_"+Date.now().toString()+".csv").replace(/\s+/g,"").trim().toLowerCase():"widgetData_"+Date.now().toString()+".csv",(e=l,[Object.keys(e[0])].concat(e).map((e=>Object.values(e).toString())).join("\n")));else{let e;e={errorMessage:"Unable to download widget data",detailedError:"Unable to download widget data - data not available"},(e=>{x((0,d.Ih)(e))})(e)}var e},m=e=>{"csv"===e?u():"png"===e&&(()=>{if(null!==t){const e=(t+"_"+Date.now().toString()+".png").replace(/\s+/g,"").trim().toLowerCase();(0,W.exportComponentAsPNG)(i,{fileName:e})}else{const e="widgetData_"+Date.now().toString()+".png";(0,W.exportComponentAsPNG)(i,{fileName:e})}})()};return(0,g.jsx)(n.Fragment,{children:(0,g.jsxs)(a.xuv,{sx:{justifyItems:"center","& .download-icon":{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},children:[(0,g.jsx)("button",{className:"download-icon",onClick:e=>{r(e.currentTarget)},children:(0,g.jsx)(a._8t,{})}),(0,g.jsx)(a.udT,{id:"download-widget-main-menu",options:[{label:"Download as CSV",value:"csv"},{label:"Download as PNG",value:"png"}],selectedOption:"",onSelect:e=>m(e),hideTriggerAction:()=>{r(null)},open:c,anchorEl:s,anchorOrigin:"end"})]})})},B=e=>{let{active:t,payload:i,label:n,barChartConfiguration:l}=e;return t?(0,g.jsxs)(a.xuv,{sx:A.Rp.customTooltip,children:[(0,g.jsx)(a.xuv,{sx:A.Rp.timeStampTitle,children:n}),i&&i.map(((e,t)=>(0,g.jsxs)(a.xuv,{sx:A.Rp.labelContainer,children:[(0,g.jsx)(a.xuv,{sx:A.Rp.labelColor,style:{backgroundColor:l[t].color}}),(0,g.jsx)(a.xuv,{sx:{...A.Rp.itemValue,"& span.valueContainer":{...A.Rp.valueContainer}},children:(0,g.jsx)("span",{className:"valueContainer",children:e.value})})]},"pltiem-".concat(t,"-").concat(n))))]}):null};var z=i(81207);const D=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),loadingAlign:{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"}}})),U=e=>{let{y:t,payload:i}=e;return(0,g.jsx)("text",{width:50,fontSize:"69.7%",textAnchor:"start",fill:"#333",transform:"translate(5,".concat(t,")"),fontWeight:400,dy:3,children:i.value})},P=e=>{let{title:t,panelItem:i,timeStart:s,timeEnd:r,apiPrefix:c,zoomActivated:x=!1}=e;const u=(0,o.TL)(),[m,p]=(0,n.useState)(!1),[h,f]=(0,n.useState)([]),[j,v]=(0,n.useState)(null),[C,w]=(0,n.useState)(!1),[A,L]=(0,n.useState)(window.innerWidth>=a.Egj.md),W=(0,n.useRef)(),P=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{p(!0)}),[P]),(0,n.useEffect)((()=>{const e=()=>{let e=!1;window.innerWidth>=a.Egj.md&&(e=!0),L(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==s&&null!==r){const t=r.toUnixInteger()-s.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==s?"&start=".concat(s.toUnixInteger()):"").concat(null!==s&&null!==r?"&":"").concat(null!==r?"end=".concat(r.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),v(t),p(!1)})).catch((e=>{u((0,d.Ih)(e)),p(!1)}))}}),[m,i,r,s,u,c]);const M=j?j.widgetConfiguration:[];let Z=0,O=0;if(1===M.length){const e=M[0];h.forEach(((t,i)=>{t[e.dataKey]>O&&(O=t[e.dataKey],Z=i)}))}return(0,g.jsx)(D,{children:(0,g.jsxs)(a.xuv,{className:x?"":"singleValueContainer",onMouseOver:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:[!x&&(0,g.jsxs)(a.rjZ,{container:!0,children:[(0,g.jsx)(a.rjZ,{item:!0,xs:10,sx:{alignItems:"start",justifyItems:"start"},children:(0,g.jsx)("div",{className:"titleContainer",children:t})}),(0,g.jsx)(a.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:C&&(0,g.jsx)(k,{panelItem:i})}),(0,g.jsx)(a.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:(0,g.jsx)(R,{title:t,componentRef:W,data:h})})]}),m&&(0,g.jsx)(a.xuv,{className:"loadingAlign",children:(0,g.jsx)(a.aNw,{})}),!m&&(0,g.jsx)("div",{ref:W,className:x?"zoomChartCont":"contentContainer",children:(0,g.jsx)(b.h,{width:"99%",children:(0,g.jsxs)(S.v,{data:h,layout:"vertical",barCategoryGap:1,children:[(0,g.jsx)(E.K,{type:"number",hide:!0}),(0,g.jsx)(T.B,{dataKey:"name",type:"category",interval:0,tick:(0,g.jsx)(U,{}),tickLine:!1,axisLine:!1,width:150,hide:!A,style:{fontSize:"12px",fontWeight:100}}),M.map((e=>(0,g.jsx)(I.$,{dataKey:e.dataKey,fill:e.color,background:e.background,barSize:x?25:12,children:1===M.length?(0,g.jsx)(n.Fragment,{children:h.map(((t,i)=>(0,g.jsx)(N.b,{fill:i===Z?e.greatestColor:e.color},"chart-bar-".concat(i.toString()))))}):null},"bar-".concat(e.dataKey)))),(0,g.jsx)(F.u,{cursor:{fill:"rgba(255, 255, 255, 0.3)"},content:(0,g.jsx)(B,{barChartConfiguration:M})})]})})})]})})};var M=i(28265),Z=i(82839),O=i(18602);const G=e=>{let{active:t,payload:i,label:n,linearConfiguration:l,yAxisFormatter:o}=e;return t?(0,g.jsxs)(a.xuv,{sx:A.Rp.customTooltip,children:[(0,g.jsx)(a.xuv,{sx:A.Rp.timeStampTitle,children:(0,m.Ue)(n,!0)}),i&&i.map(((e,t)=>(0,g.jsxs)(a.xuv,{sx:A.Rp.labelContainer,children:[(0,g.jsx)(a.xuv,{sx:A.Rp.labelColor,style:{backgroundColor:l[t].lineColor}}),(0,g.jsx)(a.xuv,{sx:{...A.Rp.itemValue,"& span.valueContainer":{...A.Rp.valueContainer}},children:(0,g.jsxs)("span",{className:"valueContainer",children:[l[t].keyLabel,":"," ",o(e.value)]})})]},"lbPl-".concat(t,"-").concat(l[t].keyLabel))))]}):null},_=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .chartCont":{position:"relative",height:140,width:"100%"},"& .legendChart":{display:"flex",flexDirection:"column",flex:"0 1 auto",maxHeight:130,margin:0,overflowY:"auto",position:"relative",textAlign:"center",width:"100%",justifyContent:"flex-start",color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:12,["@media (max-width: ".concat(a.Egj.md,"px)")]:{display:"none"}},"& .loadingAlign":{width:40,height:40,textAlign:"center",margin:"15px auto"}}})),V=e=>{let{title:t,timeStart:i,timeEnd:s,panelItem:r,apiPrefix:c,hideYAxis:x=!1,areaWidget:u=!1,yAxisFormatter:m=(e=>e),xAxisFormatter:p=((e,t,i)=>e),zoomActivated:h=!1}=e;const f=(0,o.TL)(),[j,v]=(0,n.useState)(!1),[C,w]=(0,n.useState)(!1),[S,I]=(0,n.useState)([]),[N,A]=(0,n.useState)([]),[L,W]=(0,n.useState)(0),[B,D]=(0,n.useState)(null),U=(0,l.v9)((e=>e.dashboard.widgetLoadVersion)),P=(0,n.useRef)(null);(0,n.useEffect)((()=>{v(!0)}),[U]),(0,n.useEffect)((()=>{if(j){let e=0;if(null!==i&&null!==s){const t=s.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(r.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,r);I(t.data),D(t),v(!1);let i=0;for(const n of t.data)for(const e in n){if("name"===e)continue;let t=parseInt(n[e]);isNaN(t)&&(t=0),i{f((0,d.Ih)(e)),v(!1)}))}}),[j,r,s,i,f,c]);let V=Math.floor(S.length/5);(0,n.useEffect)((()=>{const e=S.map((e=>{const t=new Date(1e3*(null===e||void 0===e?void 0:e.name));return{...e,name:t}}));A(e)}),[S]);const K=B?null===B||void 0===B?void 0:B.widgetConfiguration:[],H=e=>{const{cx:t,cy:i,index:n}=e;return n%3!==0?null:(0,g.jsx)("circle",{cx:t,cy:i,r:3,strokeWidth:0,fill:"#07264A"})};let $=!1;return h&&($=!0),(0,g.jsx)(_,{children:(0,g.jsxs)(a.xuv,{className:h?"":"singleValueContainer",onMouseOver:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:[!h&&(0,g.jsxs)(a.rjZ,{container:!0,children:[(0,g.jsx)(a.rjZ,{item:!0,xs:10,sx:{alignItems:"start"},children:(0,g.jsx)(a.xuv,{className:"titleContainer",children:t})}),(0,g.jsx)(a.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end",alignContent:"flex-end"},children:C&&(0,g.jsx)(k,{panelItem:r})}),(0,g.jsx)(a.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:null!==P&&(0,g.jsx)(R,{title:t,componentRef:P,data:N})})]}),(0,g.jsx)("div",{ref:P,children:(0,g.jsxs)(a.xuv,{sx:h?{flexDirection:"column"}:{height:"100%",display:"grid",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},style:u?{gridTemplateColumns:"1fr"}:{},children:[j&&(0,g.jsx)(a.aNw,{className:"loadingAlign"}),!j&&(0,g.jsxs)(n.Fragment,{children:[(0,g.jsx)(a.xuv,{className:h?"zoomChartCont":"chartCont",children:(0,g.jsx)(b.h,{width:"99%",children:(0,g.jsxs)(M.T,{data:S,margin:{top:5,right:20,left:x?20:5,bottom:0},children:[u&&(0,g.jsx)("defs",{children:(0,g.jsxs)("linearGradient",{id:"colorUv",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,g.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:1}),(0,g.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:0}),(0,g.jsx)("stop",{offset:"95%",stopColor:"#ffffff",stopOpacity:.8})]})}),(0,g.jsx)(Z.q,{strokeDasharray:u?"2 2":"5 5",strokeWidth:1,strokeOpacity:1,stroke:"#eee0e0",vertical:!u}),(0,g.jsx)(E.K,{dataKey:"name",tickFormatter:e=>p(e,$,!0),interval:V,tick:{fontSize:"68%",fontWeight:"normal",color:"#404143"},tickCount:10,stroke:"#082045"}),(0,g.jsx)(T.B,{type:"number",domain:[0,1.1*L],hide:x,tickFormatter:e=>m(e),tick:{fontSize:"68%",fontWeight:"normal",color:"#404143"},stroke:"#082045"}),K.map(((e,t)=>(0,g.jsx)(O.u,{type:"monotone",dataKey:e.dataKey,isAnimationActive:!1,stroke:u?"#D7E5F8":e.lineColor,fill:u?"url(#colorUv)":e.fillColor,fillOpacity:u?.65:0,strokeWidth:u?0:3,strokeLinecap:"round",dot:!!u&&(0,g.jsx)(H,{})},"area-".concat(e.dataKey,"-").concat(t.toString())))),(0,g.jsx)(F.u,{content:(0,g.jsx)(G,{linearConfiguration:K,yAxisFormatter:m}),wrapperStyle:{zIndex:5e3}})]})})}),!u&&(0,g.jsxs)(n.Fragment,{children:[h&&(0,g.jsxs)(n.Fragment,{children:[(0,g.jsx)("strong",{children:"Series"}),(0,g.jsx)("br",{}),(0,g.jsx)("br",{})]}),(0,g.jsx)(a.xuv,{className:"legendChart",children:K.map(((e,t)=>(0,g.jsxs)(a.xuv,{className:"singleLegendContainer",children:[(0,g.jsx)(a.xuv,{className:"colorContainer",style:{backgroundColor:e.lineColor}}),(0,g.jsx)(a.xuv,{className:"legendLabel",children:e.keyLabel})]},"legend-".concat(e.keyLabel,"-").concat(t.toString()))))})]})]})]})})]})})};var K=i(73909),H=i(21041);const $=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .loadingAlign":{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"},"& .pieChartLabel":{fontSize:60,color:x()(t,"signalColors.main","#07193E"),fontWeight:"bold",width:"100%","& .unitText":{color:x()(t,"mutedText","#87888d"),fontSize:12}},"& .chartContainer":{width:"100%",height:140}}})),J=e=>{let{title:t,panelItem:i,timeStart:s,timeEnd:r,apiPrefix:c}=e;const u=(0,o.TL)(),[m,p]=(0,n.useState)(!1),[h,f]=(0,n.useState)([]),[j,v]=(0,n.useState)([]),[w,S]=(0,n.useState)(null),E=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{p(!0)}),[E]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==s&&null!==r){const t=r.toUnixInteger()-s.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==s?"&start=".concat(s.toUnixInteger()):"").concat(null!==s&&null!==r?"&":"").concat(null!==r?"end=".concat(r.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),v(t.dataOuter),S(t),p(!1)})).catch((e=>{u((0,d.Ih)(e)),p(!1)}))}}),[m,i,r,s,u,c]);const T=w?w.widgetConfiguration:[],I=null===w||void 0===w?void 0:w.innerLabel,F=x()(T,"innerChart.colorList",[]),A=x()(T,"outerChart.colorList",[]);return(0,g.jsx)($,{children:(0,g.jsxs)(a.xuv,{className:"singleValueContainer",children:[(0,g.jsx)(a.xuv,{className:"titleContainer",children:t}),m&&(0,g.jsx)(a.xuv,{className:"loadingAlign",children:(0,g.jsx)(a.aNw,{})}),!m&&(0,g.jsxs)(a.xuv,{className:"contentContainer",children:[(0,g.jsx)("span",{className:"pieChartLabel",children:I&&C(I)}),(0,g.jsx)(a.xuv,{className:"chartContainer",children:(0,g.jsx)(b.h,{width:"99%",children:(0,g.jsxs)(K.u,{margin:{top:5,bottom:5},children:[j&&(0,g.jsx)(H.b,{data:j,cx:"50%",cy:"50%",dataKey:"value",innerRadius:x()(T,"outerChart.innerRadius",0),outerRadius:x()(T,"outerChart.outerRadius","80%"),startAngle:x()(T,"outerChart.startAngle",0),endAngle:x()(T,"outerChart.endAngle",360),fill:"#201763",children:j.map(((e,t)=>(0,g.jsx)(N.b,{fill:"undefined"===typeof A[t]?"#393939":A[t]},"cellOuter-".concat(t))))}),h&&(0,g.jsx)(H.b,{data:h,dataKey:"value",cx:"50%",cy:"50%",innerRadius:x()(T,"innerChart.innerRadius",0),outerRadius:x()(T,"innerChart.outerRadius","80%"),startAngle:x()(T,"innerChart.startAngle",0),endAngle:x()(T,"innerChart.endAngle",360),fill:"#201763",children:h.map(((e,t)=>(0,g.jsx)(N.b,{fill:"undefined"===typeof F[t]?"#393939":F[t]},"cell-".concat(t))))})]})})})]})]})})},X=w.ZP.span((e=>{let{theme:t}=e;return{display:"inline-flex",color:x()(t,"signalColors.main","#07193E"),alignItems:"center","& .icon":{color:x()(t,"signalColors.main","#07193E"),fill:x()(t,"signalColors.main","#07193E"),marginRight:5,marginLeft:12},"& .widgetLabel":{fontWeight:"bold",textTransform:"uppercase",marginRight:10},"& .widgetValue":{marginRight:25}}})),Y=e=>{let{iconWidget:t,title:i,panelItem:s,timeStart:r,timeEnd:c,apiPrefix:x,renderFn:u}=e;const m=(0,o.TL)(),[p,h]=(0,n.useState)(!1),[f,j]=(0,n.useState)(""),v=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));return(0,n.useEffect)((()=>{h(!0)}),[v]),(0,n.useEffect)((()=>{if(p){let e=0;if(null!==r&&null!==c){const t=c.toUnixInteger()-r.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(x,"/info/widgets/").concat(s.id,"/?step=").concat(e,"&").concat(null!==r?"&start=".concat(r.toUnixInteger()):"").concat(null!==r&&null!==c?"&":"").concat(null!==c?"end=".concat(c.toUnixInteger()):"")).then((e=>{const t=y(e,s);j(t.data),h(!1)})).catch((e=>{m((0,d.Ih)(e)),h(!1)}))}}),[p,s,c,r,m,x]),u?u({valueToRender:f,loading:p,title:i,id:s.id,iconWidget:t}):(0,g.jsxs)(n.Fragment,{children:[p&&(0,g.jsx)("div",{className:"loadingAlign",children:(0,g.jsx)(a.aNw,{})}),!p&&(0,g.jsxs)(X,{children:[(0,g.jsx)("span",{className:"icon",children:t||null}),(0,g.jsxs)("span",{className:"widgetLabel",children:[i,": "]}),(0,g.jsx)("span",{className:"widgetValue",children:f})]})]})},q=e=>{let{children:t}=e;return(0,g.jsx)(a.xuv,{withBorders:!0,sx:{borderRadius:"3px",padding:15,height:136,maxWidth:"100%",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:5,height:"auto"},["@media (max-width: ".concat(a.Egj.md,"px)")]:{display:"flex",flexFlow:"column",maxWidth:"initial"}},children:t})},Q=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"300px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"}})),ee=e=>{let{value:t,label:i="",icon:n=null,loading:l=!1}=e;return(0,g.jsx)(Q,{children:(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",width:"100%",padding:"0 8px 0 8px",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"12px",zIndex:10,overflow:"hidden"},children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,g.jsx)(a.ua7,{tooltip:t,placement:"bottom",children:(0,g.jsx)(a.xuv,{sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:187,flexFlow:"row",fontSize:55,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{fontSize:35,maxWidth:200,flexFlow:"column"},["@media (max-width: ".concat(a.Egj.md,"px)")]:{fontSize:35},["@media (max-width: ".concat(a.Egj.lg,"px)")]:{fontSize:36},["@media (max-width: ".concat(a.Egj.xl,"px)")]:{fontSize:50}},children:t})})]}),(0,g.jsx)(a.xuv,{sx:{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"flex-start",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:l?(0,g.jsx)(a.aNw,{style:{width:"16px",height:"16px"}}):n})]})})},te=e=>{let{title:t,value:i,loading:n}=e;return(0,g.jsx)(ee,{label:t,icon:(0,g.jsx)(a.wNb,{}),value:i,loading:n})},ie=e=>{let{title:t,value:i,loading:n}=e;return(0,g.jsx)(ee,{label:t,icon:(0,g.jsx)(a.xpX,{}),value:i,loading:n})},ne=(0,l.$j)(null,{setErrorSnackMessage:d.Ih})((e=>{let{title:t,panelItem:i,timeStart:a,timeEnd:s,propLoading:r,apiPrefix:c}=e;const x=(0,o.TL)(),[u,p]=(0,n.useState)(!1),[h,f]=(0,n.useState)(null),j=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{p(!0)}),[j]),(0,n.useEffect)((()=>{if(u){let e=0;if(null!==a&&null!==s){const t=s.toUnixInteger()-a.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==a?"&start=".concat(a.toUnixInteger()):"").concat(null!==a&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t),p(!1)})).catch((e=>{x((0,d.Ih)(e)),p(!1)}))}}),[u,i,s,a,x,c]);let v="";if(h){const e=parseInt(h.innerLabel||"0");v=isNaN(e)?"0":(0,m.nk)(e)}return 66===(C=i.id)?(0,g.jsx)(q,{children:(0,g.jsx)(te,{loading:u,title:t,value:h?v:""})}):44===C?(0,g.jsx)(q,{children:(0,g.jsx)(ie,{loading:u,title:t,value:h?v:""})}):null;var C})),ae=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",height:140,flexDirection:"column",justifyContent:"center","& .unitText":{color:x()(t,"mutedText","#87888d"),fontSize:12},"& .loadingAlign":{width:"100%",textAlign:"center",margin:"auto"},"& .metric":{fontSize:60,lineHeight:1,color:x()(t,"signalColors.main","#07193E"),fontWeight:700},"& .titleElement":{fontSize:10,color:x()(t,"mutedText","#87888d"),fontWeight:700},...(0,A.NP)(t)}})),le=e=>{let{title:t,panelItem:i,timeStart:s,timeEnd:r,apiPrefix:c,renderFn:x}=e;const u=(0,o.TL)(),[m,p]=(0,n.useState)(!1),[h,f]=(0,n.useState)(""),j=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{p(!0)}),[j]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==s&&null!==r){const t=r.toUnixInteger()-s.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==s?"&start=".concat(s.toUnixInteger()):"").concat(null!==s&&null!==r?"&":"").concat(null!==r?"end=".concat(r.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),p(!1)})).catch((e=>{u((0,d.Ih)(e)),p(!1)}))}}),[m,i,r,s,u,c]);const v=C(h);return x?x({valueToRender:v,loading:m,title:t,id:i.id}):(0,g.jsxs)(ae,{children:[m&&(0,g.jsx)(a.xuv,{className:"loadingAlign",children:(0,g.jsx)(a.aNw,{})}),!m&&(0,g.jsxs)(n.Fragment,{children:[(0,g.jsx)(a.xuv,{className:"metric",children:C(h)}),(0,g.jsx)(a.xuv,{className:"titleElement",children:t})]})]})},oe=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",flexFlow:"row","& .usableLabel":{color:x()(t,"mutedText","#87888d"),fontSize:"10px",display:"flex",flexFlow:"column",alignItems:"center",textAlign:"center"},"& .usedLabel":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px"},"& .totalUsed":{display:"flex","& .value":{fontSize:"50px",fontFamily:"Inter",fontWeight:600,alignSelf:"flex-end",lineHeight:1},"& .unit":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px",marginLeft:"12px",alignSelf:"flex-end"}},"& .ofUsed":{marginTop:"5px","& .value":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px",textAlign:"right"}},["@media (max-width: ".concat(a.Egj.sm,"px)")]:{flexFlow:"column"}}})),se=e=>{let{value:t,timeStart:i,timeEnd:s,apiPrefix:r}=e;const c=(0,o.TL)(),[x,u]=(0,n.useState)(!1),[p,h]=(0,n.useState)(0),[f,j]=(0,n.useState)(0),[v,C]=(0,n.useState)(0),[w,b]=(0,n.useState)(0),S=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{u(!0)}),[S]),(0,n.useEffect)((()=>{if(x){let e=0;if(null!==i&&null!==s){const t=s.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(r,"/info/widgets/").concat(t.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const i=y(e,t);let n=0,a=0,l=0;i.data.forEach((e=>{e.forEach((e=>{switch(e.legend){case"Total Usable":n+=e.value;break;case"Used Space":a+=e.value;break;case"Usable Free":l+=e.value}}))}));const o=Math.round(l/n*100);h(l),j(o),C(a),b(n),u(!1)})).catch((e=>{c((0,d.Ih)(e)),u(!1)}))}}),[x,t,s,i,c,r]);const E=(0,m.Am)(v,!0,!1),T=[{value:p,color:"#D6D6D6",label:"Usable Available Space"},{value:v,color:(0,m.hn)(v,w),label:"Used Space"}];return(0,g.jsxs)(oe,{children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"16px",fontWeight:600,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{alignSelf:"flex-start"}},children:"Capacity"}),(0,g.jsxs)(a.xuv,{sx:{position:"relative",width:110,height:110,marginLeft:"auto",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{marginLeft:""}},children:[(0,g.jsxs)(a.xuv,{sx:{position:"absolute",display:"flex",flexFlow:"column",alignItems:"center",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",fontSize:12},children:["".concat(f,"%"),(0,g.jsx)("br",{}),(0,g.jsx)(a.xuv,{className:"usableLabel",children:"Free"})]}),(0,g.jsx)(K.u,{width:110,height:110,children:(0,g.jsx)(H.b,{data:T,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,startAngle:-70,endAngle:360,animationDuration:1,children:T.map(((e,t)=>(0,g.jsx)(N.b,{fill:e.color},"cellCapacity-".concat(t))))})})]}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{marginLeft:""}},children:[(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{className:"usedLabel",children:"Used:"}),(0,g.jsxs)(a.xuv,{className:"totalUsed",children:[(0,g.jsx)("div",{className:"value",children:E.total}),(0,g.jsx)("div",{className:"unit",children:E.unit})]}),(0,g.jsx)(a.xuv,{className:"ofUsed",children:(0,g.jsxs)("div",{className:"value",children:["Of: ",(0,m.l5)(w)]})})]}),(0,g.jsx)(a.xuv,{sx:{marginLeft:"15px",height:"100%",display:"flex",alignItems:"flex-start"},children:(0,g.jsx)(a.xuv,{children:x?(0,g.jsx)(a.aNw,{style:{width:"26px",height:"26px"}}):(0,g.jsx)(a.rHZ,{})})})]})]})},re=w.ZP.div((e=>{let{theme:t}=e;return{display:"grid",alignItems:"center",gap:8,height:33,paddingLeft:15,gridTemplateColumns:"20px 1.5fr .5fr 20px",background:x()(t,"boxBackground","#FBFAFA"),"& .min-icon":{height:"12px",width:"12px",fill:x()(t,"signalColors.good","#4CCB92")},"& .ok-icon":{height:"8px",width:"8px",fill:x()(t,"signalColors.good","#4CCB92"),color:x()(t,"signalColors.good","#4CCB92")},"& .timeStatLabel":{fontSize:"12px",color:x()(t,"signalColors.good","#4CCB92"),fontWeight:600},"& .timeStatValue":{fontSize:"12px",color:x()(t,"signalColors.good","#4CCB92")}}})),de=e=>{let{icon:t,label:i,value:n,loading:l=!1}=e;return(0,g.jsxs)(re,{className:"dashboard-time-stat-item",children:[l?(0,g.jsx)(a.aNw,{style:{width:10,height:10}}):t,(0,g.jsx)(a.xuv,{className:"timeStatLabel",children:i}),(0,g.jsx)(a.xuv,{className:"timeStatValue",children:n}),"n/a"!==n?(0,g.jsx)(a.tmp,{className:"ok-icon"}):null]})},ce=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,g.jsx)(a.xuv,{sx:{display:"flex",height:"47px",borderRadius:"2px","& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,g.jsx)(de,{loading:i,icon:n,label:(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{sx:{display:"inline",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Heal Activity"]}),value:t})})},xe=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,g.jsx)(a.xuv,{sx:{display:"flex",height:"47px",borderRadius:"2px","& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,g.jsx)(de,{loading:i,icon:n,label:(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{sx:{display:"inline",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Scan Activity"]}),value:t})})},ue=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,g.jsx)(a.xuv,{sx:{display:"flex",height:47,borderRadius:2,"& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,g.jsx)(de,{loading:i,icon:n,label:(0,g.jsx)(a.xuv,{children:"Uptime"}),value:t})})},me=function(e,t,i,n,a){let l=arguments.length>5&&void 0!==arguments[5]&&arguments[5];switch(e.type){case u.singleValue:return(0,g.jsx)(le,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a});case u.simpleWidget:let o,s=null;return 80===e.id?s=ce:81===e.id?s=xe:1===e.id&&(s=ue),[80,81,1].includes(e.id)&&(o=e=>{let{valueToRender:t,loading:i,title:n,id:a,iconWidget:l}=e;return(0,g.jsx)(s,{valueToRender:t,loading:i,title:n,id:a,iconWidget:l})}),(0,g.jsx)(Y,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a,iconWidget:e.widgetIcon,renderFn:o});case u.pieChart:return 50===e.id?(0,g.jsx)(q,{children:(0,g.jsx)(se,{value:e,timeStart:t,timeEnd:i,apiPrefix:a})}):(0,g.jsx)(J,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a});case u.linearGraph:case u.areaGraph:return(0,g.jsx)(V,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,hideYAxis:e.disableYAxis,xAxisFormatter:e.xAxisFormatter,yAxisFormatter:e.yAxisFormatter,apiPrefix:a,areaWidget:e.type===u.areaGraph,zoomActivated:l});case u.barChart:return(0,g.jsx)(P,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a,zoomActivated:l});case u.singleRep:const r=e.fillColor?e.fillColor:e.color;return(0,g.jsx)(ne,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,propLoading:n,color:e.color,fillColor:r,apiPrefix:a});default:return null}},ge=[{sx:{minWidth:0,display:"grid",gap:"30px",gridTemplateColumns:"1fr 1fr 1fr 1fr",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{gridTemplateColumns:"1fr"},["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr 1fr"}},columns:[{componentId:66},{componentId:44},{componentId:500},{componentId:501}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:50},{componentId:502}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:80},{componentId:81},{componentId:1}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:68},{componentId:52}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:63},{componentId:70}]}],pe=[{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},columns:[{componentId:60}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:71,sx:{flex:1,width:"50%",flexShrink:0}},{componentId:17,sx:{flex:1,width:"50%",flexShrink:0}}]},{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},columns:[{componentId:73}]}],he=[{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:76},{componentId:77}]},{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:82},{componentId:74}]}],fe=[{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:11},{componentId:8}]}],je=e=>{let{children:t}=e;return(0,g.jsx)(a.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},children:t})};var ve=i(56028);const ye=e=>{let{value:t,modalOpen:i,timeStart:a,timeEnd:l,apiPrefix:s}=e;const r=(0,o.TL)();return t?(0,g.jsx)(ve.Z,{title:t.title,onClose:()=>{r((0,L.jv)())},modalOpen:i,wideLimit:!1,sx:{padding:0},children:(0,g.jsx)(n.Fragment,{children:me(t,a,l,!0,s,!0)})}):null};var Ce=i(63856),we=i(11087);const be=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .metricText":{fontSize:70,lineHeight:1.1,color:x()(t,"signalColors.main","#07193E"),fontWeight:"bold"},"& .unitText":{fontSize:10,color:x()(t,"mutedText","#87888d"),fontWeight:"normal"},"& .subHeaderContainer":{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},"& .subMessage":{fontSize:10,color:x()(t,"mutedText","#87888d"),"&.bold":{fontWeight:"bold"}},"& .headerContainer":{display:"flex",justifyContent:"space-between"},"& .viewAll":{fontSize:10,color:x()(t,"signalColors.danger","#C83B51"),textTransform:"capitalize","& a, & a:hover, & a:visited, & a:active":{color:x()(t,"signalColors.danger","#C83B51")}}}})),Se=e=>{let{title:t,metricValue:i,metricUnit:l,subMessage:o,moreLink:s,rightComponent:r,extraMargin:d=!1}=e;const c=()=>(0,g.jsx)(n.Fragment,{children:(0,g.jsxs)("div",{className:"subHeaderContainer",children:[(0,g.jsxs)("div",{className:"leftSide",children:[(0,g.jsx)("div",{children:(0,g.jsxs)("span",{className:"metricText",children:[i,(0,g.jsx)("span",{className:"unitText",children:l})]})}),o&&(0,g.jsx)(a.xuv,{sx:{fontWeight:o.fontWeight||"normal"},children:o.message})]}),(0,g.jsx)("div",{className:"rightSide",children:r})]})}),x=()=>(0,g.jsx)(n.Fragment,{children:(0,g.jsxs)("div",{className:"headerContainer",children:[(0,g.jsx)("span",{className:"titleContainer",children:t}),s&&(0,g.jsx)(n.Fragment,{children:(0,g.jsx)("span",{className:"viewAll",children:(0,g.jsx)(we.rU,{to:s,children:"View All"})})})]})});return(0,g.jsx)(n.Fragment,{children:(0,g.jsx)(a.xuv,{withBorders:!0,sx:{height:200,padding:16,margin:d?"10px 20px 10px 0":""},children:""!==i&&(0,g.jsxs)(be,{children:[(0,g.jsx)(x,{}),(0,g.jsx)(c,{})]})})})},Ee=e=>{let{title:t,leftComponent:i,rightComponent:a}=e;return(0,g.jsx)(n.Fragment,{children:(0,g.jsx)(Se,{title:t,metricValue:i,rightComponent:a})})},Te=e=>{let{panelItem:t,timeStart:i,timeEnd:s,apiPrefix:r,statLabel:c}=e;const x=(0,o.TL)(),[u,m]=(0,n.useState)(!1),[p,h]=(0,n.useState)(""),f=(0,l.v9)((e=>e.dashboard.widgetLoadVersion));return(0,n.useEffect)((()=>{m(!0)}),[f]),(0,n.useEffect)((()=>{if(u){let e=0;if(null!==i&&null!==s){const t=s.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(r,"/info/widgets/").concat(t.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const i=y(e,t);h(i.data),m(!1)})).catch((e=>{x((0,d.Ih)(e)),m(!1)}))}}),[u,t,s,i,x,r]),u?(0,g.jsx)(a.xuv,{sx:{width:"100%",paddingTop:"5px",textAlign:"center",margin:"auto"},children:(0,g.jsx)(a.aNw,{style:{width:12,height:12}})}):(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{className:"stat-value",children:p}),c]})},Ie=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"321px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default","& .stat-text":{color:x()(t,"mutedText","#87888d"),fontSize:"12px",marginTop:"8px"}}})),Ne=e=>{let{statItemLeft:t=null,statItemRight:i=null,icon:n=null,label:l=""}=e;return(0,g.jsx)(Ie,{children:(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",padding:"0 8px 0 8px",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",flexFlow:"column"},children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"16px",fontWeight:600},children:l}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",gap:5,justifyContent:"space-between",paddingBottom:0,fontSize:55,flexFlow:"row",fontWeight:600,"& .stat-value":{textAlign:"center",height:"50px"},"& .min-icon":{marginRight:"8px",marginTop:"8px",height:"10px",width:"10px"},["@media (max-width: ".concat(a.Egj.sm,"px)")]:{fontSize:35},["@media (max-width: ".concat(a.Egj.lg,"px)")]:{fontSize:45},["@media (max-width: ".concat(a.Egj.xl,"px)")]:{fontSize:50}},children:[t,i]})]}),(0,g.jsx)(a.xuv,{sx:{width:"20px",height:"20px",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:n})]})})},Fe=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",marginTop:"5px",gap:8,"&.online":{"& .min-icon":{margin:0,fill:x()(t,"signalColors.good","#4CCB92")}},"&.offline":{"& .min-icon":{margin:0,fill:x()(t,"signalColors.danger","#C51B3F")}},"& .indicatorText":{color:x()(t,"mutedText","#C51B3F"),fontSize:12}}})),Ae=e=>{let{info:t,timeStart:i,timeEnd:n,apiPrefix:l}=e;const{mergedPanels:o=[],id:s}=t,[r,d]=o,c=(0,g.jsx)(Te,{panelItem:r,timeStart:i,timeEnd:n,apiPrefix:l,statLabel:(0,g.jsxs)(Fe,{className:"online",children:[(0,g.jsx)(a.J$M,{}),(0,g.jsx)(a.xuv,{className:"indicatorText",children:"Online"})]})}),x=(0,g.jsx)(Te,{panelItem:d,timeStart:i,timeEnd:n,apiPrefix:l,statLabel:(0,g.jsxs)(Fe,{className:"offline",children:[(0,g.jsx)(a.J$M,{}),(0,g.jsx)(a.xuv,{className:"indicatorText",children:"Offline"})]})});let u=null,m="";return 500===s?(u=(0,g.jsx)(a.SBZ,{}),m="Servers"):501===s&&(u=(0,g.jsx)(a.FU8,{}),m="Drives"),(0,g.jsx)(Ne,{statItemLeft:c,statItemRight:x,icon:u,label:m})},Le=w.ZP.div((e=>{let{theme:t}=e;return{"& .putLabel":{display:"flex",gap:10,alignItems:"center",marginTop:"10px","& .min-icon":{height:15,width:15,fill:x()(t,"signalColors.good","#4CCB92")},"& .getText":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),fontWeight:"bold"},"& .valueText":{fontSize:50,fontFamily:"Inter",fontWeight:600}}}})),ke=e=>{let{value:t,loading:i}=e;return(0,g.jsxs)(Le,{children:[(0,g.jsxs)(a.xuv,{className:"putLabel",children:[(0,g.jsx)(a.xuv,{className:"getText",children:"GET"}),i?(0,g.jsx)(a.aNw,{style:{width:"15px",height:"15px"}}):(0,g.jsx)(a.vUj,{})]}),(0,g.jsx)(a.xuv,{className:"valueText",children:t})]})},We=w.ZP.div((e=>{let{theme:t}=e;return{"& .putLabel":{display:"flex",gap:10,alignItems:"center",marginTop:"10px","& .min-icon":{height:15,width:15,fill:x()(t,"signalColors.info","#2781B0")},"& .putText":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),fontWeight:"bold"},"& .valueText":{fontSize:50,fontFamily:"Inter",fontWeight:600}}}})),Re=e=>{let{value:t,loading:i}=e;return(0,g.jsxs)(We,{children:[(0,g.jsxs)(a.xuv,{className:"putLabel",children:[(0,g.jsx)(a.xuv,{className:"putText",children:"PUT"}),i?(0,g.jsx)(a.aNw,{style:{width:"15px",height:"15px"}}):(0,g.jsx)(a.Uxq,{})]}),(0,g.jsx)(a.xuv,{className:"valueText",children:t})]})},Be=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",flexFlow:"row",gap:"15px","& .unitText":{fontSize:"14px",color:x()(t,"mutedText","#87888d"),marginLeft:"5px"},"& .unit":{color:x()(t,"mutedText","#87888d"),fontSize:"18px",marginLeft:"12px",marginTop:"10px"},["@media (max-width: ".concat(a.Egj.sm,"px)")]:{flexFlow:"column"}}})),ze=e=>{let{value:t,timeStart:i,timeEnd:n,apiPrefix:l}=e;const{mergedPanels:o=[]}=t,[s,r]=o,d=(0,g.jsx)(le,{title:t.title,panelItem:s,timeStart:i,timeEnd:n,apiPrefix:l,renderFn:e=>{let{valueToRender:t,loading:i,title:n,id:a}=e;return(0,g.jsx)(Re,{value:t,loading:i,title:n,id:a})}}),c=(0,g.jsx)(le,{title:t.title,panelItem:r,timeStart:i,timeEnd:n,apiPrefix:l,renderFn:e=>{let{valueToRender:t,loading:i,title:n,id:a}=e;return(0,g.jsx)(ke,{value:t,loading:i,title:n,id:a})}});return(0,g.jsxs)(Be,{children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"16px",fontWeight:600},children:"Network"}),(0,g.jsx)(a.xuv,{sx:{position:"relative",width:110,height:110,marginLeft:"auto",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{marginLeft:"0"}},children:(0,g.jsx)(a.xuv,{sx:{position:"absolute",display:"flex",flexFlow:"column",alignItems:"center",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",fontSize:12},children:c})}),(0,g.jsx)(a.xuv,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{marginLeft:"0"}},children:(0,g.jsx)(a.xuv,{sx:{display:"flex",alignItems:"center","& .value":{fontSize:"50px",fontFamily:"Inter"}},children:d})}),(0,g.jsx)(a.xuv,{sx:{marginLeft:"15px",height:"100%",display:"flex",alignItems:"flex-start","& .min-icon":{height:"15px",width:"15px"}},children:(0,g.jsx)(a.QBB,{})})]})},De=e=>{let{info:t,timeStart:i,timeEnd:n,loading:a,apiPrefix:l}=e;const{mergedPanels:o=[],title:s="",id:r}=t,[d,c]=o;return[500,501].includes(r)?(0,g.jsx)(q,{children:(0,g.jsx)(Ae,{info:t,timeStart:i,timeEnd:n,apiPrefix:l})}):502===r?(0,g.jsx)(q,{children:(0,g.jsx)(ze,{apiPrefix:l,timeEnd:n,timeStart:i,value:t})}):(0,g.jsx)(Ee,{title:s,leftComponent:me(d,i,n,a,l),rightComponent:me(c,i,n,a,l)})};var Ue=i(31300),Pe=i(98444),Me=i.n(Pe),Ze=i(879);const Oe=w.ZP.div((e=>{let{theme:t}=e;return{alignItems:"baseline",padding:"5px",display:"flex",gap:"5px","& .StatBox":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column","& .stat-text":{color:x()(t,"mutedText","#87888d"),fontSize:"12px"},"& .stat-value":{fontSize:"18px",color:x()(t,"signalColors.main","#07193E"),display:"flex",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","& .stat-container":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column",marginLeft:"5px",maxWidth:"40px","&:first-of-type(svg)":{fill:x()(t,"mutedText","#87888d")},"& .stat-indicator":{marginRight:"0px",justifyContent:"center",alignItems:"center",textAlign:"center","& svg.min-icon":{width:"10px",height:"10px"},"&.good":{"& svg.min-icon":{fill:x()(t,"signalColors.good","#4CCB92")}},"&.warn":{"& svg.min-icon":{fill:x()(t,"signalColors.warning","#FFBD62")}},"&.bad":{"& svg.min-icon":{fill:x()(t,"signalColors.danger","#C51B3F")}}}}}}}})),Ge=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"flex-start",flexFlow:"column",flex:1,"& .server-state":{marginLeft:"8px","& .min-icon":{height:"14px",width:"14px"},"&.good":{"& svg.min-icon":{fill:x()(t,"signalColors.good","#4CCB92")}},"&.warn":{"& svg.min-icon":{fill:x()(t,"signalColors.warning","#FFBD62")}},"&.bad":{"& svg.min-icon":{fill:x()(t,"signalColors.danger","#C51B3F")}}}}})),_e=e=>{let{label:t="",value:i="",statusColor:n="warn",hasStatus:l=!1}=e;return(0,g.jsx)(Oe,{children:(0,g.jsxs)(a.xuv,{className:"StatBox",children:[(0,g.jsxs)("div",{className:"stat-value",children:[i," ",(0,g.jsx)(a.xuv,{className:"stat-container",children:l?(0,g.jsx)(a.xuv,{className:"stat-indicator ".concat(n),children:(0,g.jsx)(a.J$M,{})}):(0,g.jsx)(a.xuv,{sx:{width:"12px",height:"12px"}})})]}),(0,g.jsx)("div",{className:"stat-text",children:t})]})})},Ve=e=>{let{server:t}=e;const i=Object.keys(x()(t,"network",{})),n=i.length,l=t.drives?t.drives.length:0,o=i.reduce(((e,i)=>"online"===(t.network?t.network[i]:"")?e+1:e),0),s=t.drives?t.drives.filter((e=>"ok"===e.state)).length:0;return(0,g.jsx)(Ge,{children:(0,g.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",padding:"3px",gap:"15px",justifyContent:"space-between",width:"100%",paddingLeft:"20px",flexFlow:"row",["@media (max-width: ".concat(a.Egj.md,"px)")]:{flexFlow:"column"}},children:[(0,g.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center"},children:[(0,g.jsx)(a.xuv,{sx:{fontWeight:600,textTransform:"none"},children:t.endpoint||""}),(null===t||void 0===t?void 0:t.state)&&(0,g.jsx)(a.xuv,{className:"server-state ".concat((0,Ze.GJ)(t.state)),children:(0,g.jsx)(a.J$M,{})})]}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flex:"1.5",gap:"5%"},children:[(0,g.jsx)(_e,{statusColor:(0,Ze.Et)(s,l),label:"Drives",hasStatus:!0,value:"".concat(s,"/").concat(l)}),(0,g.jsx)(_e,{statusColor:(0,Ze.D_)(o,n),label:"Network",hasStatus:!0,value:"".concat(o,"/").concat(n)}),(0,g.jsx)(_e,{statusColor:"good",label:"Up time",value:null!==t&&void 0!==t&&t.uptime?(0,m.v1)("".concat(t.uptime)):"N/A"})]}),(0,g.jsx)(_e,{statusColor:"good",label:"",value:(0,g.jsxs)(a.xuv,{sx:{background:"rgb(235, 236, 237)",color:"#000000",paddingLeft:"10px",paddingRight:"10px",borderRadius:"2px",fontSize:"12px",marginTop:"5px","& .label":{fontWeight:600,marginRight:"3px"}},children:[(0,g.jsx)("span",{className:"label",children:"Version:"}),t.version?t.version:"N/A"]})})]})})},Ke=e=>{switch(e){case"offline":return Ze.yh.RED;case"ok":return Ze.yh.GREEN;default:return Ze.yh.YELLOW}},He=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",paddingLeft:"20px",marginTop:"10px",flexFlow:"row","& .info-label":{color:x()(t,"mutedText","#87888d"),fontSize:"12px",textAlign:"center"},"& .info-value":{fontSize:"18px",color:x()(t,"signalColors.main","#07193E"),display:"flex",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},["@media (max-width: ".concat(a.Egj.sm,"px)")]:{flexFlow:"column"}}})),$e=e=>{let{drive:t}=e;const i=t.totalSpace||0,n=t.usedSpace||0;return(0,g.jsx)(a.xuv,{withBorders:!0,sx:{display:"flex",flex:1,alignItems:"center",paddingBottom:"10px",padding:"20px"},children:(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column",marginLeft:"10px",flex:1},children:[(0,g.jsxs)(a.xuv,{sx:{fontSize:"14px",fontWeight:400,display:"flex",alignItems:"center","& .min-icon":{marginRight:"10px",height:"10px",width:"10px",fill:Ke(t.state||""),flexShrink:0},"& .drive-endpoint":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all",marginRight:"8px",fontWeight:600,fontSize:16,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{fontSize:10}}},children:[(0,g.jsx)("div",{className:"drive-endpoint",children:t.endpoint||""}),t.state&&(0,g.jsx)(a.J$M,{})]}),(0,g.jsxs)(He,{children:[(0,g.jsx)(a.xuv,{sx:{flex:1},children:(0,g.jsx)(a.mWO,{label:!0,usedBytes:n,totalBytes:i,width:"120",height:"120"})}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",gap:"5%",alignItems:"center",flex:2,flexGrow:1},children:[(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,g.jsx)("div",{className:"info-value",children:(0,m.ae)(t.totalSpace?t.totalSpace.toString():"0")}),(0,g.jsx)("label",{className:"info-label",children:"Capacity"})]}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,g.jsx)("div",{className:"info-value",children:(0,m.ae)(t.usedSpace?t.usedSpace.toString():"0")}),(0,g.jsx)("label",{className:"info-label",children:"Used"})]}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,g.jsx)("div",{className:"info-value",children:(0,m.ae)(t.availableSpace?t.availableSpace.toString():"0")}),(0,g.jsx)("label",{className:"info-label",children:"Available"})]})]})]})]})})},Je=e=>{let{data:t}=e;const[i,l]=n.useState(t.length>1?"":t[0].endpoint+"-0"),o=e=>{l(e)};return(0,g.jsxs)(a.xuv,{children:[(0,g.jsxs)(a.xuv,{sx:{fontSize:18,lineHeight:2,fontWeight:700},children:["Servers (",t.length,")"]}),(0,g.jsx)(a.xuv,{children:t.map(((e,t)=>{var n,l;const s="".concat(e.endpoint,"-").concat(t),r=i===s;return(0,g.jsxs)(a.UQy,{expanded:r,onTitleClick:()=>{o(r?"":s)},id:"key",title:(0,g.jsx)(Ve,{server:e,index:t}),sx:{marginBottom:15},children:[(0,g.jsxs)(a.xuv,{useBackground:!0,sx:{padding:"10px 30px",fontWeight:"bold"},children:["Drives (",null===(n=e.drives)||void 0===n?void 0:n.length,")"]}),(0,g.jsx)(a.xuv,{sx:{flex:1,display:"flex",flexDirection:"column",padding:"15px 30px",gap:15,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:"10px 10px"}},children:null===(l=e.drives)||void 0===l?void 0:l.map(((e,t)=>(0,g.jsx)($e,{drive:e},"".concat(e.endpoint,"-").concat(t))))})]},s)}))})]})},Xe=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"300px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"}})),Ye=e=>{let{counterValue:t,label:i="",icon:n=null,actions:l=null}=e;return(0,g.jsx)(Xe,{children:(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",width:"100%",padding:"0 8px 0 8px",position:"absolute",["@media (max-width: ".concat(a.Egj.md,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,g.jsxs)(a.xuv,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"8px",zIndex:10,overflow:"hidden"},children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,g.jsx)(a.ua7,{tooltip:t,placement:"bottom",children:(0,g.jsx)(a.xuv,{sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:187,flexFlow:"row",fontSize:t.toString().length>=5?50:55,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{flexFlow:"column",maxWidth:200,fontSize:t.toString().length>=5?20:35},["@media (max-width: ".concat(a.Egj.md,"px)")]:{fontSize:t.toString().length>=5?28:35},["@media (max-width: ".concat(a.Egj.lg,"px)")]:{fontSize:t.toString().length>=5?28:36},["@media (max-width: ".concat(a.Egj.xl,"px)")]:{fontSize:t.toString().length>=5?45:50}},children:t})})]}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"flex-start",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:[n,(0,g.jsx)(a.xuv,{sx:{display:"flex"},children:l})]})]})})},qe=w.ZP.div((e=>{let{theme:t}=e;return{maxHeight:"110px",display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"19px",padding:"10px","& .unit-value":{fontSize:"50px",color:x()(t,"signalColors.main","#07193E")},"& .unit-type":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),marginTop:"20px",marginLeft:"5px"},"& .usage-label":{display:"flex",alignItems:"center",fontSize:"16px",fontWeight:600,marginRight:"20px",marginTop:"-10px","& .min-icon":{marginLeft:"10px",height:16,width:16}}}})),Qe=e=>{let{usageValue:t,total:i,unit:n}=e;const l=[{value:i,color:"#D6D6D6",label:"Free Space"},{value:t,color:"#073052",label:"Used Space"}];return(0,g.jsxs)(qe,{children:[(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)("div",{className:"usage-label",children:(0,g.jsx)("span",{children:"Reported Usage"})}),(0,g.jsx)(a.ua7,{tooltip:"".concat(t," Bytes"),children:(0,g.jsx)("label",{className:"unit-value",style:{fontWeight:600},children:i})}),(0,g.jsx)("label",{className:"unit-type",children:n})]}),(0,g.jsx)(a.xuv,{children:(0,g.jsx)(a.xuv,{sx:{flex:1},children:(0,g.jsx)("div",{style:{position:"relative",width:105,height:105,top:"-8px"},children:(0,g.jsx)("div",{children:(0,g.jsx)(K.u,{width:105,height:105,children:(0,g.jsx)(H.b,{data:l,cx:"50%",cy:"50%",dataKey:"value",outerRadius:45,innerRadius:35,startAngle:-70,endAngle:360,animationDuration:1,children:l.map(((e,t)=>(0,g.jsx)(N.b,{fill:e.color},"cellCapacity-".concat(t))))})})})})})})]})};var et=i(56087),tt=i(27454);const it=e=>{let{children:t}=e;return(0,g.jsx)(a.xuv,{withBorders:!0,sx:{padding:15,height:"136px",maxWidth:"100%",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:5,maxWidth:"initial"}},children:t})},nt=e=>{var t,i,n,l,o,s,r,d,c,x;let{usage:u}=e;const p=u&&u.usage?u.usage.toString():"0",h=(e=>void 0===e?{total:"0",unit:"Mi"}:(0,m.Am)(e))(p),{lastScan:f="n/a",lastHeal:j="n/a",upTime:v="n/a"}={},y=(e=>e&&e.servers?[...e.servers].sort((function(e,t){var i,n;const a=(null===(i=e.endpoint)||void 0===i?void 0:i.toLowerCase())||"",l=(null===(n=t.endpoint)||void 0===n?void 0:n.toLowerCase())||"";return al?1:0})):[])(u);let C=[];y.forEach((e=>{var t;const i=null===(t=e.drives)||void 0===t?void 0:t.map((e=>e));i&&(C=[...C,...i])}));const w=Me()(y,"state"),{offline:b=[],online:S=[]}=w,E=Me()(C,"state"),{offline:T=[],ok:I=[]}=E;return(0,g.jsx)(a.xuv,{children:(0,g.jsxs)(a.xuv,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:"1fr",gap:27,marginBottom:40},children:[(0,g.jsxs)(a.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"40px"},children:[(0,g.jsxs)(a.xuv,{sx:{display:"grid",gridTemplateRows:"136px",gridTemplateColumns:"1fr 1fr 1fr",gap:20,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{gridTemplateColumns:"1fr"},["@media (max-width: ".concat(a.Egj.md,"px)")]:{marginBottom:0}},children:[(0,g.jsx)(it,{children:(0,g.jsx)(Ye,{label:"Buckets",icon:(0,g.jsx)(a.wNb,{}),counterValue:u?(0,m.nk)(u.buckets):0,actions:(0,g.jsx)(we.rU,{to:et.gA.BUCKETS,style:{zIndex:3,textDecoration:"none",top:"40px",position:"relative",marginRight:"75px"},children:(0,g.jsx)(tt.Z,{tooltip:"Browse",children:(0,g.jsx)(a.zxk,{id:"browse-dashboard",onClick:()=>{},label:"Browse",icon:(0,g.jsx)(a.LZ3,{}),variant:"regular",style:{padding:5,height:30,fontSize:14,marginTop:20}})})})})}),(0,g.jsx)(it,{children:(0,g.jsx)(Ye,{label:"Objects",icon:(0,g.jsx)(a.xpX,{}),counterValue:u?(0,m.nk)(u.objects):0})}),(0,g.jsx)(it,{children:(0,g.jsx)(Ue.Z,{onlineCount:S.length,offlineCount:b.length,label:"Servers",icon:(0,g.jsx)(a.SBZ,{})})}),(0,g.jsx)(it,{children:(0,g.jsx)(Ue.Z,{offlineCount:(null===u||void 0===u||null===(t=u.backend)||void 0===t?void 0:t.offlineDrives)||T.length,onlineCount:(null===u||void 0===u||null===(i=u.backend)||void 0===i?void 0:i.onlineDrives)||I.length,label:"Drives",icon:(0,g.jsx)(a.FU8,{})})}),(0,g.jsxs)(a.xuv,{withBorders:!0,sx:{gridRowStart:"1",gridRowEnd:"3",gridColumnStart:"3",padding:15,display:"grid",justifyContent:"stretch"},children:[(0,g.jsx)(Qe,{usageValue:p,total:h.total,unit:h.unit}),(0,g.jsxs)(a.xuv,{sx:{display:"flex",flexFlow:"column",gap:"14px"},children:[(0,g.jsx)(de,{icon:(0,g.jsx)(a.lnI,{}),label:(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{sx:{display:"inline",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Heal Activity"]}),value:j}),(0,g.jsx)(de,{icon:(0,g.jsx)(a.EY8,{}),label:(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{sx:{display:"inline",["@media (max-width: ".concat(a.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Scan Activity"]}),value:f}),(0,g.jsx)(de,{icon:(0,g.jsx)(a.oNq,{}),label:"Uptime",value:v})]})]})]}),(0,g.jsxs)(a.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"14px",["@media (max-width: ".concat(a.Egj.lg,"px)")]:{gridTemplateColumns:"1fr"}},children:[(0,g.jsx)(de,{icon:(0,g.jsx)(a.idV,{}),label:"Backend type",value:null!==(n=null===u||void 0===u||null===(l=u.backend)||void 0===l?void 0:l.backendType)&&void 0!==n?n:"Unknown"}),(0,g.jsx)(de,{icon:(0,g.jsx)(a.QaX,{}),label:"Standard storage class parity",value:null!==(o=null===u||void 0===u||null===(s=u.backend)||void 0===s||null===(r=s.standardSCParity)||void 0===r?void 0:r.toString())&&void 0!==o?o:"n/a"}),(0,g.jsx)(de,{icon:(0,g.jsx)(a.QaX,{}),label:"Reduced redundancy storage class parity",value:null!==(d=null===u||void 0===u||null===(c=u.backend)||void 0===c||null===(x=c.rrSCParity)||void 0===x?void 0:x.toString())&&void 0!==d?d:"n/a"})]}),(0,g.jsx)(a.xuv,{sx:{display:"grid",gridTemplateRows:"auto",gridTemplateColumns:"1fr",gap:"auto"},children:(0,g.jsx)(Je,{data:y})})]}),"not configured"===(null===u||void 0===u?void 0:u.advancedMetricsStatus)&&(0,g.jsx)(a.xuv,{children:(0,g.jsx)(a.KfX,{iconComponent:(0,g.jsx)(a.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,g.jsxs)(a.xuv,{children:[(0,g.jsx)(a.xuv,{sx:{fontSize:"14px"},children:"MinIO Dashboard will display basic metrics as we couldn\u2019t connect to Prometheus successfully. Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."}),(0,g.jsx)(a.xuv,{sx:{paddingTop:20,fontSize:14},children:(0,g.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html",target:"_blank",rel:"noopener",children:"Read more about Prometheus on our Docs site."})})]})})})]})})},at=e=>{let{apiPrefix:t="admin",usage:i}=e;const d=(0,o.TL)(),c=(0,l.v9)((e=>e.dashboard.loadingUsage)),x=(0,l.v9)((e=>e.dashboard.zoom.openZoom)),u=(0,l.v9)((e=>e.dashboard.zoom.widgetRender)),m=(0,l.v9)(r.$4),p=!(null===m||void 0===m||!m.includes("object-browser-only"));let h=!1;(null!==m&&void 0!==m&&m.includes("hide-menu")||p)&&(h=!0);const[f,v]=(0,n.useState)(null),[y,C]=(0,n.useState)(null),w=j,[b,S]=(0,n.useState)("not configured"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)?"info":"usage"),E=e=>e.reduce(((e,i,l)=>{const{columns:o=[]}=i,s=o.map(((e,i)=>{var o;return((e,i)=>(0,g.jsx)(n.Fragment,{children:e?(0,g.jsx)(n.Fragment,{children:(0,g.jsx)(a.xuv,{children:e.mergedPanels?(0,g.jsx)(De,{info:e,timeStart:f,timeEnd:y,loading:!0,apiPrefix:t}):me(e,f,y,!0,t,x)})}):null},"widget-".concat(i)))((o=e.componentId,w.find((e=>e.id===o))),"".concat(l,"-").concat(i))}));return[...e,(0,g.jsx)(a.xuv,{sx:i.sx,children:s},"layout-row-".concat(l))]}),[]),T="not configured"===(null===i||void 0===i?void 0:i.advancedMetricsStatus),I=(0,g.jsx)(a.xuv,{sx:{marginBottom:20},children:"info"===b?(0,g.jsxs)(a.rjZ,{container:!0,children:[(0,g.jsx)(a.rjZ,{item:!0,children:(0,g.jsx)(a.xuv,{sx:{fontSize:18,lineHeight:2,fontWeight:700},children:"Server Information"})}),(0,g.jsx)(a.rjZ,{item:!0,xs:!0,children:(0,g.jsx)(a.rjZ,{container:!0,direction:"row-reverse",children:(0,g.jsx)(a.rjZ,{item:!0,children:(0,g.jsx)(a.zxk,{id:"sync",type:"button",variant:"callAction",onClick:()=>{d((0,s.y)())},disabled:c,icon:(0,g.jsx)(a.bnu,{}),label:"Sync"})})})})]}):(0,g.jsx)(Ce.Z,{timeStart:f,setTimeStart:v,timeEnd:y,setTimeEnd:C,triggerSync:()=>{d((0,L.JO)())}})}),N={tabConfig:{label:"Info",id:"info",disabled:!1},content:(0,g.jsxs)(n.Fragment,{children:[(!i||c)&&(0,g.jsx)(a.kod,{}),i&&!c&&(0,g.jsxs)(n.Fragment,{children:[I,(0,g.jsx)(nt,{usage:i})]})]})},F=[{tabConfig:{label:"Usage",id:"usage",disabled:T},content:(0,g.jsxs)(n.Fragment,{children:[I,(0,g.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,g.jsx)(a.KfX,{iconComponent:(0,g.jsx)(a.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,g.jsx)(a.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),w.length?E(ge):null]})]})},{tabConfig:{label:"Traffic",id:"traffic",disabled:T},content:(0,g.jsxs)(n.Fragment,{children:[I,(0,g.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,g.jsx)(a.KfX,{iconComponent:(0,g.jsx)(a.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,g.jsx)(a.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),w.length?E(pe):null]})]})},{tabConfig:{label:"Resources",id:"resources",disabled:T},content:(0,g.jsxs)(n.Fragment,{children:[I,(0,g.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,g.jsx)(a.KfX,{iconComponent:(0,g.jsx)(a.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,g.jsx)(a.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),w.length?E(he):null,(0,g.jsx)("h2",{style:{margin:0,borderBottom:"1px solid #dedede"},children:"Advanced"}),w.length?E(fe):null]})]})}];let A;return A=T?[N,...F]:[...F,N],(0,g.jsxs)(a.Xgh,{sx:{padding:h?0:"2rem"},children:[x&&(0,g.jsx)(ye,{modalOpen:x,timeStart:f,timeEnd:y,widgetRender:0,value:u,apiPrefix:t}),(0,g.jsx)(a.mQc,{horizontal:!0,options:A,currentTabOrPath:b,onTabClick:e=>{S(e)}})]})};var lt=i(79844),ot=i(99670);const st=()=>{const e=(0,o.TL)(),[t,i]=(0,n.useState)(!0),c=(0,l.v9)((e=>e.dashboard.usage)),x=(0,l.v9)(r.$4),u=!(null===x||void 0===x||!x.includes("object-browser-only"));let m=!1;return(null!==x&&void 0!==x&&x.includes("hide-menu")||u)&&(m=!0),(0,n.useEffect)((()=>{t&&(i(!1),e((0,s.y)()))}),[t,e]),(0,n.useEffect)((()=>{e((0,d.Sc)("metrics"))}),[]),(0,g.jsxs)(n.Fragment,{children:[!m&&(0,g.jsx)(lt.Z,{label:"Metrics",actions:(0,g.jsx)(ot.Z,{})}),t?(0,g.jsx)(a.rjZ,{container:!0,children:(0,g.jsx)(a.rjZ,{item:!0,xs:12,children:(0,g.jsx)(a.kod,{})})}):(0,g.jsx)(at,{usage:c})]})}}}]);
-//# sourceMappingURL=8388.b826482a.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8388],{63856:(e,t,i)=>{i.d(t,{Z:()=>o});var n=i(72791),a=i(29945),l=i(80184);const o=e=>{let{timeStart:t,setTimeStart:i,timeEnd:o,setTimeEnd:s,triggerSync:r,label:d="Filter:",startLabel:c="Start Time:",endLabel:x="End Time:"}=e;return(0,l.jsx)(a.rjZ,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,l.jsxs)(a.xuv,{sx:{display:"grid",height:40,alignItems:"center",gridTemplateColumns:"auto 2fr auto",padding:0,["@media (max-width: ".concat(a.Egj.sm,"px)")]:{padding:5},["@media (max-width: ".concat(a.Egj.md,"px)")]:{gridTemplateColumns:"1fr",height:"auto"},gap:"5px"},children:[(0,l.jsx)(a.xuv,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},className:"muted",children:d}),(0,l.jsxs)(a.xuv,{customBorderPadding:"0px",sx:{display:"grid",height:40,alignItems:"center",gridTemplateColumns:"1fr 1fr",gap:"8px",paddingLeft:"8px",paddingRight:"8px",["@media (max-width: ".concat(a.Egj.md,"px)")]:{height:"auto",gridTemplateColumns:"1fr"}},children:[(0,l.jsx)(a.YgR,{value:t,onChange:i,id:"stTime",secondsSelector:!1,pickerStartComponent:(0,l.jsxs)(n.Fragment,{children:[(0,l.jsx)(a.wZd,{}),(0,l.jsx)("span",{children:c})]})}),(0,l.jsx)(a.YgR,{value:o,onChange:s,id:"endTime",secondsSelector:!1,pickerStartComponent:(0,l.jsxs)(n.Fragment,{children:[(0,l.jsx)(a.wZd,{}),(0,l.jsx)("span",{children:x})]})})]}),r&&(0,l.jsx)(a.xuv,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},children:(0,l.jsx)(a.zxk,{id:"sync",type:"button",variant:"callAction",onClick:r,icon:(0,l.jsx)(a.bnu,{}),label:"Sync"})})]})})}},31300:(e,t,i)=>{i.d(t,{Z:()=>d});i(72791);var n=i(16444),a=i(26181),l=i.n(a),o=i(29945),s=i(80184);const r=n.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",maxWidth:"321px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",color:l()(t,"signalColors.main","#07193E"),"& .mainBox":{flex:1,display:"flex",padding:"0 8px 0 8px",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{padding:"0 10px 0 10px"},"& .indicatorIcon":{width:"20px",height:"20px",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},"& .indicatorContainer":{flex:1,display:"flex",flexFlow:"column","& .indicatorLabel":{fontSize:"16px",fontWeight:600},"& .counterIndicator":{display:"flex",alignItems:"center",gap:"5px",justifyContent:"space-between",paddingBottom:0,fontSize:"55px",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{paddingBottom:10,fontSize:"35px"},["@media (max-width: ".concat(o.Egj.lg,"px)")]:{fontSize:"45px"},["@media (max-width: ".concat(o.Egj.xl,"px)")]:{fontSize:"50px"},flexFlow:"row",fontWeight:600,"& .stat-text":{color:l()(t,"mutedText","#87888D"),fontSize:"12px",marginTop:"8px"},"& .stat-value":{textAlign:"center",height:"50px"},"& .min-icon":{marginRight:"8px",marginTop:"8px",height:"10px",width:"10px"}},"& .onlineCounter":{display:"flex",alignItems:"center",marginTop:"5px","& .min-icon":{fill:l()(t,"signalColors.good","#4CCB92")}},"& .offlineCount":{display:"flex",alignItems:"center",marginTop:"8px","& .min-icon":{fill:l()(t,"signalColors.danger","#C51B3F")}}}}}})),d=e=>{let{onlineCount:t=0,offlineCount:i=0,icon:n=null,label:a="",okStatusText:l="Online",notOkStatusText:d="Offline"}=e;return(0,s.jsx)(r,{children:(0,s.jsxs)(o.xuv,{className:"mainBox",children:[(0,s.jsxs)(o.xuv,{className:"indicatorContainer",children:[(0,s.jsx)(o.xuv,{className:"indicatorLabel",children:a}),(0,s.jsxs)(o.xuv,{className:"counterIndicator",children:[(0,s.jsxs)(o.xuv,{children:[(0,s.jsx)(o.xuv,{className:"stat-value",children:t}),(0,s.jsxs)(o.xuv,{className:"onlineCounter",children:[(0,s.jsx)(o.J$M,{}),(0,s.jsx)("div",{className:"stat-text",children:l})]})]}),(0,s.jsxs)(o.xuv,{children:[(0,s.jsx)(o.xuv,{className:"stat-value",children:i}),(0,s.jsxs)(o.xuv,{className:"offlineCount",children:[(0,s.jsx)(o.J$M,{})," ",(0,s.jsx)("div",{className:"stat-text",children:d})]})]})]})]}),(0,s.jsx)(o.xuv,{className:"indicatorIcon",children:n})]})})}},879:(e,t,i)=>{i.d(t,{D_:()=>o,Et:()=>a,GJ:()=>l,yh:()=>n});const n={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#FFBD62"},a=(e,t)=>e<=t/2?"bad":2!==t&&e===t/2+1?"warn":e===t?"good":void 0,l=e=>{switch(e){case"offline":return"bad";case"online":return"good";default:return"warn"}},o=(e,t)=>e<=t/2?"bad":e===t/2+1?"warn":e===t?"good":void 0},8388:(e,t,i)=>{i.r(t),i.d(t,{default:()=>st});var n=i(72791),a=i(78687),l=i(44690),o=i(32110),s=i(46078),r=i(87995),d=i(29945),c=i(26181),x=i.n(c);let u=function(e){return e.singleValue="singleValue",e.linearGraph="linearGraph",e.areaGraph="areaGraph",e.barChart="barChart",e.pieChart="pieChart",e.singleRep="singleRep",e.simpleWidget="simpleWidget",e}({});var m=i(45248),p=i(80184);const g=["#C4D4E9","#DCD1EE","#D1EEE7","#EEDED1","#AAF38F","#F9E6C5","#C83B51","#F4CECE","#D6D6D6"],h=e=>(0,m.v1)(e,"ns"),f=e=>parseInt(e).toString(10),j=[{id:1,title:"Uptime",data:"N/A",type:u.simpleWidget,widgetIcon:(0,p.jsx)(d.oNq,{}),labelDisplayFunction:m.v1},{id:50,title:"Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:g,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:u.pieChart,innerLabel:"N/A",labelDisplayFunction:m.ae},{id:51,title:"Usable Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:g,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:u.pieChart,innerLabel:"N/A",labelDisplayFunction:m.ae},{id:68,title:"Data Usage Growth",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.areaGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:52,title:"Object size distribution",data:[],widgetConfiguration:[{dataKey:"a",color:"#2781B0",background:{fill:"#EEF1F4"},greatestColor:"#081C42"}],customStructure:[{originTag:"LESS_THAN_1024_B",displayTag:"Less than 1024B"},{originTag:"BETWEEN_1024_B_AND_1_MB",displayTag:"Between 1024B and 1MB"},{originTag:"BETWEEN_1_MB_AND_10_MB",displayTag:"Between 1MB and 10MB"},{originTag:"BETWEEN_10_MB_AND_64_MB",displayTag:"Between 10MB and 64MB"},{originTag:"BETWEEN_64_MB_AND_128_MB",displayTag:"Between 64MB and 128MB"},{originTag:"BETWEEN_128_MB_AND_512_MB",displayTag:"Between 128MB and 512MB"},{originTag:"GREATER_THAN_512_MB",displayTag:"Greater than 512MB"}],type:u.barChart},{id:66,title:"Buckets",data:[],innerLabel:"N/A",type:u.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:44,title:"Objects",data:[],innerLabel:"N/A",type:u.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:63,title:"API Data Received Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000",strokeWidth:3}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:61,title:"Total Open FDs",data:[],innerLabel:"N/A",type:u.singleRep,color:"#22B573",fillColor:"#A6E8C4"},{id:62,title:"Total Goroutines",data:[],innerLabel:"N/A",type:u.singleRep,color:"#F7655E",fillColor:"#F4CECE"},{id:77,title:"Node CPU Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:60,title:"API Request Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:70,title:"API Data Sent Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:17,title:"Internode Data Transfer",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:73,title:"Node IO",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:m.ae,xAxisFormatter:m.Ue},{id:80,title:"Time Since Last Heal Activity",data:"N/A",type:u.simpleWidget,widgetIcon:(0,p.jsx)(d.lnI,{}),labelDisplayFunction:h},{id:81,title:"Time Since Last Scan Activity",data:"N/A",type:u.simpleWidget,widgetIcon:(0,p.jsx)(d.MXM,{}),labelDisplayFunction:h},{id:71,title:"API Request Error Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue},{id:76,title:"Node Memory Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:74,title:"Drive Used Capacity",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,xAxisFormatter:m.Ue,yAxisFormatter:m.ae},{id:82,title:"Drives Free Inodes",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,disableYAxis:!0,xAxisFormatter:m.Ue},{id:11,title:"Node Syscalls",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:8,title:"Node File Descriptors",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:u.linearGraph,yAxisFormatter:f,xAxisFormatter:m.Ue},{id:500,mergedPanels:[{id:53,title:"Online",data:"N/A",type:u.singleValue},{id:69,title:"Offline",data:"N/A",type:u.singleValue}],title:"Servers"},{id:501,mergedPanels:[{id:9,title:"Online",data:"N/A",type:u.singleValue},{id:78,title:"Offline",data:"N/A",type:u.singleValue}],title:"Drives"},{id:502,mergedPanels:[{id:65,title:"Upload",data:"N/A",type:u.singleValue,labelDisplayFunction:m.ae},{id:64,title:"Download",data:"N/A",type:u.singleValue,labelDisplayFunction:m.ae}],title:"Network"}],v=(e,t)=>{if(0===e.length)return["","0"];if("mean"===t){const t=e.reduce(((e,t)=>e+parseFloat(t[1])),0);return["",Math.floor(t/e.length).toString()]}{const t=e.sort(((e,t)=>e[0]-t[0]));return t[t.length-1]}},y=(e,t)=>{if(!e)return t;const i=e.type;switch(t.type){case u.singleValue:case u.simpleWidget:if("stat"===i||"singlestat"===i){let i=x()(e,"targets[0].result[0].values",[]);null===i&&(i=[]);const n=x()(e,"options.reduceOptions.calcs[0]","lastNotNull"),a=v(i,n),l=t.labelDisplayFunction?t.labelDisplayFunction(a[1]):a[1];return{...t,data:l}}break;case u.pieChart:if("gauge"===i){const i=x()(e,"options.reduceOptions.calcs[0]","lastNotNull");let n=x()(e,"targets",[]).filter((e=>null!==e));const a=n.map((e=>(e.result&&Array.isArray(e.result)?e.result:[]).map((t=>{const i=x()(t,"values",[]),n=Object.keys(t.metric),a=i.sort(((e,t)=>parseInt(e[0][1])-parseInt(t[0][1]))),l=t.metric[n[0]],o=a[a.length-1];return{name:l,value:parseInt(o[1]),legend:e.legendFormat}})))),l=n[0].result&&n[0].result.length>0?n[0].result[0].values:[],o=v(l,i),s=t.labelDisplayFunction?t.labelDisplayFunction(o[1]):o[1];return{...t,data:a,innerLabel:s}}break;case u.linearGraph:case u.areaGraph:if("graph"===i){let i=x()(e,"targets",[]);null===i&&(i=[]);const n=[],a=[];i.forEach(((e,t)=>{let i=x()(e,"result",[]);const l=e.legendFormat;null===i&&(i=[]),i.forEach((e=>{const i=((e,t)=>{const i=Object.keys(e),n=new RegExp("{{(".concat(i.join("|"),")}}"),"g");let a=t.replace(n,(t=>{const i=t.replace(/({{|}})/g,"");return e[i]}));const l=(a.match(/{{/g)||[]).length,o=(a.match(/}}/g)||[]).length;let s=a.replace(/{{(.*?)}}/g,"");return l===o&&0!==l&&0!==o&&(i.forEach((t=>{a=a.replace(t,e[t])})),s=a),s})(e.metric,l),o="key_".concat(t).concat(i);n.push({dataKey:o,keyLabel:i,lineColor:"",fillColor:""});let s=x()(e,"values",[]);null===s&&(s=[]),s.forEach((e=>{const t=a.findIndex((t=>t.name===e[0]));if(-1===t){let t={name:e[0]};t[o]=e[1],a.push(t)}else a[t][o]=e[1]}))}))}));const l=n.sort(((e,t)=>e.keyLabelt.keyLabel?1:0)).map(((e,t)=>({...e,lineColor:g[t]||(0,m.C5)(e.keyLabel),fillColor:g[t]||(0,m.C5)(e.keyLabel)}))),o=a.sort(((e,t)=>e.name-t.name));return{...t,widgetConfiguration:l,data:o}}break;case u.barChart:if("bargauge"===i){let i=x()(e,"targets[0].result",[]);null===i&&(i=[]);const n=(e,t)=>e[0]-t[0];let a=[];return a=t.customStructure?t.customStructure.map((e=>{const t=i.find((t=>t.metric.range===e.originTag)),a=x()(t,"values",[]).sort(n),l=a[a.length-1]||["","0"];return{name:e.displayTag,a:parseInt(l[1])}})):i.map((e=>{const t=Object.keys(e.metric),i=e.metric[t[0]],a=x()(e,"values",[]).sort(n),l=a[a.length-1]||["","0"];return{name:i,a:parseInt(l[1])}})),{...t,data:a}}break;case u.singleRep:if("stat"===i){let i=x()(e,"targets[0].result[0].values",[]);null===i&&(i=[]);const n=x()(e,"options.reduceOptions.calcs[0]","lastNotNull"),a=v(i,n),l=i.sort(((e,t)=>e[0]-t[0]));let o=[];1===l.length&&o.push({value:0}),l.forEach((e=>{o.push({value:parseInt(e[1])})}));const s=t.labelDisplayFunction?t.labelDisplayFunction(a[1]):a[1];return{...t,data:o,innerLabel:s}}}return t},C=e=>{const t=e.split(" "),i=()=>{let t=e;return isNaN(parseFloat(e))||(t=(0,m.nk)(parseFloat(e))),(0,p.jsx)(n.Fragment,{children:t})};return 2!==t.length?i():m.Dl.includes(t[1])?(0,p.jsxs)("span",{className:"commonValue",children:[t[0],(0,p.jsx)("span",{className:"unitText",children:t[1]})]}):i()};var w=i(16444),b=i(19913),S=i(38725),E=i(90466),T=i(12891),I=i(23782),N=i(41048),F=i(71827),A=i(23814),L=i(71080);const k=e=>{let{panelItem:t}=e;const i=(0,l.TL)();return(0,p.jsx)(d.xuv,{sx:{alignItems:"right",gap:"10px","& .link-text":{color:"#2781B0",fontSize:"12px",fontWeight:600},"& .zoom-graph-icon":{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},children:(0,p.jsx)("button",{onClick:()=>{i((0,L.xG)(t))},className:"zoom-graph-icon",children:(0,p.jsx)(d.Qq,{})})})};var W=i(91097);const R=e=>{let{title:t,componentRef:i,data:a}=e;const[o,s]=n.useState(null),c=Boolean(o),x=(0,l.TL)(),u=()=>{if(null!==a&&a.length>0)((e,t)=>{let i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+t),i.setAttribute("download",e),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)})(null!==t?(t+"_"+Date.now().toString()+".csv").replace(/\s+/g,"").trim().toLowerCase():"widgetData_"+Date.now().toString()+".csv",(e=a,[Object.keys(e[0])].concat(e).map((e=>Object.values(e).toString())).join("\n")));else{let e;e={errorMessage:"Unable to download widget data",detailedError:"Unable to download widget data - data not available"},(e=>{x((0,r.Ih)(e))})(e)}var e},m=e=>{"csv"===e?u():"png"===e&&(()=>{if(null!==t){const e=(t+"_"+Date.now().toString()+".png").replace(/\s+/g,"").trim().toLowerCase();(0,W.exportComponentAsPNG)(i,{fileName:e})}else{const e="widgetData_"+Date.now().toString()+".png";(0,W.exportComponentAsPNG)(i,{fileName:e})}})()};return(0,p.jsx)(n.Fragment,{children:(0,p.jsxs)(d.xuv,{sx:{justifyItems:"center","& .download-icon":{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},children:[(0,p.jsx)("button",{className:"download-icon",onClick:e=>{s(e.currentTarget)},children:(0,p.jsx)(d._8t,{})}),(0,p.jsx)(d.udT,{id:"download-widget-main-menu",options:[{label:"Download as CSV",value:"csv"},{label:"Download as PNG",value:"png"}],selectedOption:"",onSelect:e=>m(e),hideTriggerAction:()=>{s(null)},open:c,anchorEl:o,anchorOrigin:"end"})]})})},B=e=>{let{active:t,payload:i,label:n,barChartConfiguration:a}=e;return t?(0,p.jsxs)(d.xuv,{sx:A.Rp.customTooltip,children:[(0,p.jsx)(d.xuv,{sx:A.Rp.timeStampTitle,children:n}),i&&i.map(((e,t)=>(0,p.jsxs)(d.xuv,{sx:A.Rp.labelContainer,children:[(0,p.jsx)(d.xuv,{sx:A.Rp.labelColor,style:{backgroundColor:a[t].color}}),(0,p.jsx)(d.xuv,{sx:{...A.Rp.itemValue,"& span.valueContainer":{...A.Rp.valueContainer}},children:(0,p.jsx)("span",{className:"valueContainer",children:e.value})})]},"pltiem-".concat(t,"-").concat(n))))]}):null};var z=i(81207);const D=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),loadingAlign:{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"}}})),U=e=>{let{y:t,payload:i}=e;return(0,p.jsx)("text",{width:50,fontSize:"69.7%",textAnchor:"start",fill:"#333",transform:"translate(5,".concat(t,")"),fontWeight:400,dy:3,children:i.value})},P=e=>{let{title:t,panelItem:i,timeStart:o,timeEnd:s,apiPrefix:c,zoomActivated:x=!1}=e;const u=(0,l.TL)(),[m,g]=(0,n.useState)(!1),[h,f]=(0,n.useState)([]),[j,v]=(0,n.useState)(null),[C,w]=(0,n.useState)(!1),[A,L]=(0,n.useState)(window.innerWidth>=d.Egj.md),W=(0,n.useRef)(),P=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{g(!0)}),[P]),(0,n.useEffect)((()=>{const e=()=>{let e=!1;window.innerWidth>=d.Egj.md&&(e=!0),L(e)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==o&&null!==s){const t=s.toUnixInteger()-o.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==o?"&start=".concat(o.toUnixInteger()):"").concat(null!==o&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),v(t),g(!1)})).catch((e=>{u((0,r.Ih)(e)),g(!1)}))}}),[m,i,s,o,u,c]);const M=j?j.widgetConfiguration:[];let Z=0,O=0;if(1===M.length){const e=M[0];h.forEach(((t,i)=>{t[e.dataKey]>O&&(O=t[e.dataKey],Z=i)}))}return(0,p.jsx)(D,{children:(0,p.jsxs)(d.xuv,{className:x?"":"singleValueContainer",onMouseOver:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:[!x&&(0,p.jsxs)(d.rjZ,{container:!0,children:[(0,p.jsx)(d.rjZ,{item:!0,xs:10,sx:{alignItems:"start",justifyItems:"start"},children:(0,p.jsx)("div",{className:"titleContainer",children:t})}),(0,p.jsx)(d.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:C&&(0,p.jsx)(k,{panelItem:i})}),(0,p.jsx)(d.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:(0,p.jsx)(R,{title:t,componentRef:W,data:h})})]}),m&&(0,p.jsx)(d.xuv,{className:"loadingAlign",children:(0,p.jsx)(d.aNw,{})}),!m&&(0,p.jsx)("div",{ref:W,className:x?"zoomChartCont":"contentContainer",children:(0,p.jsx)(b.h,{width:"99%",children:(0,p.jsxs)(S.v,{data:h,layout:"vertical",barCategoryGap:1,children:[(0,p.jsx)(E.K,{type:"number",hide:!0}),(0,p.jsx)(T.B,{dataKey:"name",type:"category",interval:0,tick:(0,p.jsx)(U,{}),tickLine:!1,axisLine:!1,width:150,hide:!A,style:{fontSize:"12px",fontWeight:100}}),M.map((e=>(0,p.jsx)(I.$,{dataKey:e.dataKey,fill:e.color,background:e.background,barSize:x?25:12,children:1===M.length?(0,p.jsx)(n.Fragment,{children:h.map(((t,i)=>(0,p.jsx)(N.b,{fill:i===Z?e.greatestColor:e.color},"chart-bar-".concat(i.toString()))))}):null},"bar-".concat(e.dataKey)))),(0,p.jsx)(F.u,{cursor:{fill:"rgba(255, 255, 255, 0.3)"},content:(0,p.jsx)(B,{barChartConfiguration:M})})]})})})]})})};var M=i(28265),Z=i(82839),O=i(18602);const G=e=>{let{active:t,payload:i,label:n,linearConfiguration:a,yAxisFormatter:l}=e;return t?(0,p.jsxs)(d.xuv,{sx:A.Rp.customTooltip,children:[(0,p.jsx)(d.xuv,{sx:A.Rp.timeStampTitle,children:(0,m.Ue)(n,!0)}),i&&i.map(((e,t)=>(0,p.jsxs)(d.xuv,{sx:A.Rp.labelContainer,children:[(0,p.jsx)(d.xuv,{sx:A.Rp.labelColor,style:{backgroundColor:a[t].lineColor}}),(0,p.jsx)(d.xuv,{sx:{...A.Rp.itemValue,"& span.valueContainer":{...A.Rp.valueContainer}},children:(0,p.jsxs)("span",{className:"valueContainer",children:[a[t].keyLabel,":"," ",l(e.value)]})})]},"lbPl-".concat(t,"-").concat(a[t].keyLabel))))]}):null},_=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .chartCont":{position:"relative",height:140,width:"100%"},"& .legendChart":{display:"flex",flexDirection:"column",flex:"0 1 auto",maxHeight:130,margin:0,overflowY:"auto",position:"relative",textAlign:"center",width:"100%",justifyContent:"flex-start",color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:12,["@media (max-width: ".concat(d.Egj.md,"px)")]:{display:"none"}},"& .loadingAlign":{width:40,height:40,textAlign:"center",margin:"15px auto"}}})),V=e=>{let{title:t,timeStart:i,timeEnd:o,panelItem:s,apiPrefix:c,hideYAxis:x=!1,areaWidget:u=!1,yAxisFormatter:m=(e=>e),xAxisFormatter:g=((e,t,i)=>e),zoomActivated:h=!1}=e;const f=(0,l.TL)(),[j,v]=(0,n.useState)(!1),[C,w]=(0,n.useState)(!1),[S,I]=(0,n.useState)([]),[N,A]=(0,n.useState)([]),[L,W]=(0,n.useState)(0),[B,D]=(0,n.useState)(null),U=(0,a.v9)((e=>e.dashboard.widgetLoadVersion)),P=(0,n.useRef)(null);(0,n.useEffect)((()=>{v(!0)}),[U]),(0,n.useEffect)((()=>{if(j){let e=0;if(null!==i&&null!==o){const t=o.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(s.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==o?"&":"").concat(null!==o?"end=".concat(o.toUnixInteger()):"")).then((e=>{const t=y(e,s);I(t.data),D(t),v(!1);let i=0;for(const n of t.data)for(const e in n){if("name"===e)continue;let t=parseInt(n[e]);isNaN(t)&&(t=0),i{f((0,r.Ih)(e)),v(!1)}))}}),[j,s,o,i,f,c]);let V=Math.floor(S.length/5);(0,n.useEffect)((()=>{const e=S.map((e=>{const t=new Date(1e3*(null===e||void 0===e?void 0:e.name));return{...e,name:t}}));A(e)}),[S]);const K=B?null===B||void 0===B?void 0:B.widgetConfiguration:[],H=e=>{const{cx:t,cy:i,index:n}=e;return n%3!==0?null:(0,p.jsx)("circle",{cx:t,cy:i,r:3,strokeWidth:0,fill:"#07264A"})};let $=!1;return h&&($=!0),(0,p.jsx)(_,{children:(0,p.jsxs)(d.xuv,{className:h?"":"singleValueContainer",onMouseOver:()=>{w(!0)},onMouseLeave:()=>{w(!1)},children:[!h&&(0,p.jsxs)(d.rjZ,{container:!0,children:[(0,p.jsx)(d.rjZ,{item:!0,xs:10,sx:{alignItems:"start"},children:(0,p.jsx)(d.xuv,{className:"titleContainer",children:t})}),(0,p.jsx)(d.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end",alignContent:"flex-end"},children:C&&(0,p.jsx)(k,{panelItem:s})}),(0,p.jsx)(d.rjZ,{item:!0,xs:1,sx:{display:"flex",justifyContent:"flex-end"},children:null!==P&&(0,p.jsx)(R,{title:t,componentRef:P,data:N})})]}),(0,p.jsx)("div",{ref:P,children:(0,p.jsxs)(d.xuv,{sx:h?{flexDirection:"column"}:{height:"100%",display:"grid",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},style:u?{gridTemplateColumns:"1fr"}:{},children:[j&&(0,p.jsx)(d.aNw,{className:"loadingAlign"}),!j&&(0,p.jsxs)(n.Fragment,{children:[(0,p.jsx)(d.xuv,{className:h?"zoomChartCont":"chartCont",children:(0,p.jsx)(b.h,{width:"99%",children:(0,p.jsxs)(M.T,{data:S,margin:{top:5,right:20,left:x?20:5,bottom:0},children:[u&&(0,p.jsx)("defs",{children:(0,p.jsxs)("linearGradient",{id:"colorUv",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,p.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:1}),(0,p.jsx)("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:0}),(0,p.jsx)("stop",{offset:"95%",stopColor:"#ffffff",stopOpacity:.8})]})}),(0,p.jsx)(Z.q,{strokeDasharray:u?"2 2":"5 5",strokeWidth:1,strokeOpacity:1,stroke:"#eee0e0",vertical:!u}),(0,p.jsx)(E.K,{dataKey:"name",tickFormatter:e=>g(e,$,!0),interval:V,tick:{fontSize:"68%",fontWeight:"normal",color:"#404143"},tickCount:10,stroke:"#082045"}),(0,p.jsx)(T.B,{type:"number",domain:[0,1.1*L],hide:x,tickFormatter:e=>m(e),tick:{fontSize:"68%",fontWeight:"normal",color:"#404143"},stroke:"#082045"}),K.map(((e,t)=>(0,p.jsx)(O.u,{type:"monotone",dataKey:e.dataKey,isAnimationActive:!1,stroke:u?"#D7E5F8":e.lineColor,fill:u?"url(#colorUv)":e.fillColor,fillOpacity:u?.65:0,strokeWidth:u?0:3,strokeLinecap:"round",dot:!!u&&(0,p.jsx)(H,{})},"area-".concat(e.dataKey,"-").concat(t.toString())))),(0,p.jsx)(F.u,{content:(0,p.jsx)(G,{linearConfiguration:K,yAxisFormatter:m}),wrapperStyle:{zIndex:5e3}})]})})}),!u&&(0,p.jsxs)(n.Fragment,{children:[h&&(0,p.jsxs)(n.Fragment,{children:[(0,p.jsx)("strong",{children:"Series"}),(0,p.jsx)("br",{}),(0,p.jsx)("br",{})]}),(0,p.jsx)(d.xuv,{className:"legendChart",children:K.map(((e,t)=>(0,p.jsxs)(d.xuv,{className:"singleLegendContainer",children:[(0,p.jsx)(d.xuv,{className:"colorContainer",style:{backgroundColor:e.lineColor}}),(0,p.jsx)(d.xuv,{className:"legendLabel",children:e.keyLabel})]},"legend-".concat(e.keyLabel,"-").concat(t.toString()))))})]})]})]})})]})})};var K=i(73909),H=i(21041);const $=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .loadingAlign":{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"},"& .pieChartLabel":{fontSize:60,color:x()(t,"signalColors.main","#07193E"),fontWeight:"bold",width:"100%","& .unitText":{color:x()(t,"mutedText","#87888d"),fontSize:12}},"& .chartContainer":{width:"100%",height:140}}})),J=e=>{let{title:t,panelItem:i,timeStart:o,timeEnd:s,apiPrefix:c}=e;const u=(0,l.TL)(),[m,g]=(0,n.useState)(!1),[h,f]=(0,n.useState)([]),[j,v]=(0,n.useState)([]),[w,S]=(0,n.useState)(null),E=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{g(!0)}),[E]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==o&&null!==s){const t=s.toUnixInteger()-o.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==o?"&start=".concat(o.toUnixInteger()):"").concat(null!==o&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),v(t.dataOuter),S(t),g(!1)})).catch((e=>{u((0,r.Ih)(e)),g(!1)}))}}),[m,i,s,o,u,c]);const T=w?w.widgetConfiguration:[],I=null===w||void 0===w?void 0:w.innerLabel,F=x()(T,"innerChart.colorList",[]),A=x()(T,"outerChart.colorList",[]);return(0,p.jsx)($,{children:(0,p.jsxs)(d.xuv,{className:"singleValueContainer",children:[(0,p.jsx)(d.xuv,{className:"titleContainer",children:t}),m&&(0,p.jsx)(d.xuv,{className:"loadingAlign",children:(0,p.jsx)(d.aNw,{})}),!m&&(0,p.jsxs)(d.xuv,{className:"contentContainer",children:[(0,p.jsx)("span",{className:"pieChartLabel",children:I&&C(I)}),(0,p.jsx)(d.xuv,{className:"chartContainer",children:(0,p.jsx)(b.h,{width:"99%",children:(0,p.jsxs)(K.u,{margin:{top:5,bottom:5},children:[j&&(0,p.jsx)(H.b,{data:j,cx:"50%",cy:"50%",dataKey:"value",innerRadius:x()(T,"outerChart.innerRadius",0),outerRadius:x()(T,"outerChart.outerRadius","80%"),startAngle:x()(T,"outerChart.startAngle",0),endAngle:x()(T,"outerChart.endAngle",360),fill:"#201763",children:j.map(((e,t)=>(0,p.jsx)(N.b,{fill:"undefined"===typeof A[t]?"#393939":A[t]},"cellOuter-".concat(t))))}),h&&(0,p.jsx)(H.b,{data:h,dataKey:"value",cx:"50%",cy:"50%",innerRadius:x()(T,"innerChart.innerRadius",0),outerRadius:x()(T,"innerChart.outerRadius","80%"),startAngle:x()(T,"innerChart.startAngle",0),endAngle:x()(T,"innerChart.endAngle",360),fill:"#201763",children:h.map(((e,t)=>(0,p.jsx)(N.b,{fill:"undefined"===typeof F[t]?"#393939":F[t]},"cell-".concat(t))))})]})})})]})]})})},X=w.ZP.span((e=>{let{theme:t}=e;return{display:"inline-flex",color:x()(t,"signalColors.main","#07193E"),alignItems:"center","& .icon":{color:x()(t,"signalColors.main","#07193E"),fill:x()(t,"signalColors.main","#07193E"),marginRight:5,marginLeft:12},"& .widgetLabel":{fontWeight:"bold",textTransform:"uppercase",marginRight:10},"& .widgetValue":{marginRight:25}}})),Y=e=>{let{iconWidget:t,title:i,panelItem:o,timeStart:s,timeEnd:c,apiPrefix:x,renderFn:u}=e;const m=(0,l.TL)(),[g,h]=(0,n.useState)(!1),[f,j]=(0,n.useState)(""),v=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));return(0,n.useEffect)((()=>{h(!0)}),[v]),(0,n.useEffect)((()=>{if(g){let e=0;if(null!==s&&null!==c){const t=c.toUnixInteger()-s.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(x,"/info/widgets/").concat(o.id,"/?step=").concat(e,"&").concat(null!==s?"&start=".concat(s.toUnixInteger()):"").concat(null!==s&&null!==c?"&":"").concat(null!==c?"end=".concat(c.toUnixInteger()):"")).then((e=>{const t=y(e,o);j(t.data),h(!1)})).catch((e=>{m((0,r.Ih)(e)),h(!1)}))}}),[g,o,c,s,m,x]),u?u({valueToRender:f,loading:g,title:i,id:o.id,iconWidget:t}):(0,p.jsxs)(n.Fragment,{children:[g&&(0,p.jsx)("div",{className:"loadingAlign",children:(0,p.jsx)(d.aNw,{})}),!g&&(0,p.jsxs)(X,{children:[(0,p.jsx)("span",{className:"icon",children:t||null}),(0,p.jsxs)("span",{className:"widgetLabel",children:[i,": "]}),(0,p.jsx)("span",{className:"widgetValue",children:f})]})]})},q=e=>{let{children:t}=e;return(0,p.jsx)(d.xuv,{withBorders:!0,sx:{borderRadius:"3px",padding:15,height:136,maxWidth:"100%",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{padding:5,height:"auto"},["@media (max-width: ".concat(d.Egj.md,"px)")]:{display:"flex",flexFlow:"column",maxWidth:"initial"}},children:t})},Q=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"300px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"}})),ee=e=>{let{value:t,label:i="",icon:n=null,loading:a=!1}=e;return(0,p.jsx)(Q,{children:(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",width:"100%",padding:"0 8px 0 8px",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"12px",zIndex:10,overflow:"hidden"},children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,p.jsx)(d.ua7,{tooltip:t,placement:"bottom",children:(0,p.jsx)(d.xuv,{sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:187,flexFlow:"row",fontSize:55,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{fontSize:35,maxWidth:200,flexFlow:"column"},["@media (max-width: ".concat(d.Egj.md,"px)")]:{fontSize:35},["@media (max-width: ".concat(d.Egj.lg,"px)")]:{fontSize:36},["@media (max-width: ".concat(d.Egj.xl,"px)")]:{fontSize:50}},children:t})})]}),(0,p.jsx)(d.xuv,{sx:{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"flex-start",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:a?(0,p.jsx)(d.aNw,{style:{width:"16px",height:"16px"}}):n})]})})},te=e=>{let{title:t,value:i,loading:n}=e;return(0,p.jsx)(ee,{label:t,icon:(0,p.jsx)(d.wNb,{}),value:i,loading:n})},ie=e=>{let{title:t,value:i,loading:n}=e;return(0,p.jsx)(ee,{label:t,icon:(0,p.jsx)(d.xpX,{}),value:i,loading:n})},ne=(0,a.$j)(null,{setErrorSnackMessage:r.Ih})((e=>{let{title:t,panelItem:i,timeStart:o,timeEnd:s,propLoading:d,apiPrefix:c}=e;const x=(0,l.TL)(),[u,g]=(0,n.useState)(!1),[h,f]=(0,n.useState)(null),j=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{g(!0)}),[j]),(0,n.useEffect)((()=>{if(u){let e=0;if(null!==o&&null!==s){const t=s.toUnixInteger()-o.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==o?"&start=".concat(o.toUnixInteger()):"").concat(null!==o&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t),g(!1)})).catch((e=>{x((0,r.Ih)(e)),g(!1)}))}}),[u,i,s,o,x,c]);let v="";if(h){const e=parseInt(h.innerLabel||"0");v=isNaN(e)?"0":(0,m.nk)(e)}return 66===(C=i.id)?(0,p.jsx)(q,{children:(0,p.jsx)(te,{loading:u,title:t,value:h?v:""})}):44===C?(0,p.jsx)(q,{children:(0,p.jsx)(ie,{loading:u,title:t,value:h?v:""})}):null;var C})),ae=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",height:140,flexDirection:"column",justifyContent:"center","& .unitText":{color:x()(t,"mutedText","#87888d"),fontSize:12},"& .loadingAlign":{width:"100%",textAlign:"center",margin:"auto"},"& .metric":{fontSize:60,lineHeight:1,color:x()(t,"signalColors.main","#07193E"),fontWeight:700},"& .titleElement":{fontSize:10,color:x()(t,"mutedText","#87888d"),fontWeight:700},...(0,A.NP)(t)}})),le=e=>{let{title:t,panelItem:i,timeStart:o,timeEnd:s,apiPrefix:c,renderFn:x}=e;const u=(0,l.TL)(),[m,g]=(0,n.useState)(!1),[h,f]=(0,n.useState)(""),j=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{g(!0)}),[j]),(0,n.useEffect)((()=>{if(m){let e=0;if(null!==o&&null!==s){const t=s.toUnixInteger()-o.toUnixInteger(),i=Math.floor(t/60);e=i<1?15:i}z.Z.invoke("GET","/api/v1/".concat(c,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==o?"&start=".concat(o.toUnixInteger()):"").concat(null!==o&&null!==s?"&":"").concat(null!==s?"end=".concat(s.toUnixInteger()):"")).then((e=>{const t=y(e,i);f(t.data),g(!1)})).catch((e=>{u((0,r.Ih)(e)),g(!1)}))}}),[m,i,s,o,u,c]);const v=C(h);return x?x({valueToRender:v,loading:m,title:t,id:i.id}):(0,p.jsxs)(ae,{children:[m&&(0,p.jsx)(d.xuv,{className:"loadingAlign",children:(0,p.jsx)(d.aNw,{})}),!m&&(0,p.jsxs)(n.Fragment,{children:[(0,p.jsx)(d.xuv,{className:"metric",children:C(h)}),(0,p.jsx)(d.xuv,{className:"titleElement",children:t})]})]})},oe=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",flexFlow:"row","& .usableLabel":{color:x()(t,"mutedText","#87888d"),fontSize:"10px",display:"flex",flexFlow:"column",alignItems:"center",textAlign:"center"},"& .usedLabel":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px"},"& .totalUsed":{display:"flex","& .value":{fontSize:"50px",fontFamily:"Inter",fontWeight:600,alignSelf:"flex-end",lineHeight:1},"& .unit":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px",marginLeft:"12px",alignSelf:"flex-end"}},"& .ofUsed":{marginTop:"5px","& .value":{color:x()(t,"mutedText","#87888d"),fontWeight:"bold",fontSize:"14px",textAlign:"right"}},["@media (max-width: ".concat(d.Egj.sm,"px)")]:{flexFlow:"column"}}})),se=e=>{let{value:t,timeStart:i,timeEnd:o,apiPrefix:s}=e;const c=(0,l.TL)(),[x,u]=(0,n.useState)(!1),[g,h]=(0,n.useState)(0),[f,j]=(0,n.useState)(0),[v,C]=(0,n.useState)(0),[w,b]=(0,n.useState)(0),S=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));(0,n.useEffect)((()=>{u(!0)}),[S]),(0,n.useEffect)((()=>{if(x){let e=0;if(null!==i&&null!==o){const t=o.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(s,"/info/widgets/").concat(t.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==o?"&":"").concat(null!==o?"end=".concat(o.toUnixInteger()):"")).then((e=>{const i=y(e,t);let n=0,a=0,l=0;i.data.forEach((e=>{e.forEach((e=>{switch(e.legend){case"Total Usable":n+=e.value;break;case"Used Space":a+=e.value;break;case"Usable Free":l+=e.value}}))}));const o=Math.round(l/n*100);h(l),j(o),C(a),b(n),u(!1)})).catch((e=>{c((0,r.Ih)(e)),u(!1)}))}}),[x,t,o,i,c,s]);const E=(0,m.Am)(v,!0,!1),T=[{value:g,color:"#D6D6D6",label:"Usable Available Space"},{value:v,color:(0,m.hn)(v,w),label:"Used Space"}];return(0,p.jsxs)(oe,{children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"16px",fontWeight:600,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{alignSelf:"flex-start"}},children:"Capacity"}),(0,p.jsxs)(d.xuv,{sx:{position:"relative",width:110,height:110,marginLeft:"auto",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{marginLeft:""}},children:[(0,p.jsxs)(d.xuv,{sx:{position:"absolute",display:"flex",flexFlow:"column",alignItems:"center",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",fontSize:12},children:["".concat(f,"%"),(0,p.jsx)("br",{}),(0,p.jsx)(d.xuv,{className:"usableLabel",children:"Free"})]}),(0,p.jsx)(K.u,{width:110,height:110,children:(0,p.jsx)(H.b,{data:T,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,startAngle:-70,endAngle:360,animationDuration:1,children:T.map(((e,t)=>(0,p.jsx)(N.b,{fill:e.color},"cellCapacity-".concat(t))))})})]}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{marginLeft:""}},children:[(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{className:"usedLabel",children:"Used:"}),(0,p.jsxs)(d.xuv,{className:"totalUsed",children:[(0,p.jsx)("div",{className:"value",children:E.total}),(0,p.jsx)("div",{className:"unit",children:E.unit})]}),(0,p.jsx)(d.xuv,{className:"ofUsed",children:(0,p.jsxs)("div",{className:"value",children:["Of: ",(0,m.l5)(w)]})})]}),(0,p.jsx)(d.xuv,{sx:{marginLeft:"15px",height:"100%",display:"flex",alignItems:"flex-start"},children:(0,p.jsx)(d.xuv,{children:x?(0,p.jsx)(d.aNw,{style:{width:"26px",height:"26px"}}):(0,p.jsx)(d.rHZ,{})})})]})]})},re=w.ZP.div((e=>{let{theme:t}=e;return{display:"grid",alignItems:"center",gap:8,height:33,paddingLeft:15,gridTemplateColumns:"20px 1.5fr .5fr 20px",background:x()(t,"boxBackground","#FBFAFA"),"& .min-icon":{height:"12px",width:"12px",fill:x()(t,"signalColors.good","#4CCB92")},"& .ok-icon":{height:"8px",width:"8px",fill:x()(t,"signalColors.good","#4CCB92"),color:x()(t,"signalColors.good","#4CCB92")},"& .timeStatLabel":{fontSize:"12px",color:x()(t,"signalColors.good","#4CCB92"),fontWeight:600},"& .timeStatValue":{fontSize:"12px",color:x()(t,"signalColors.good","#4CCB92")}}})),de=e=>{let{icon:t,label:i,value:n,loading:a=!1}=e;return(0,p.jsxs)(re,{className:"dashboard-time-stat-item",children:[a?(0,p.jsx)(d.aNw,{style:{width:10,height:10}}):t,(0,p.jsx)(d.xuv,{className:"timeStatLabel",children:i}),(0,p.jsx)(d.xuv,{className:"timeStatValue",children:n}),"n/a"!==n?(0,p.jsx)(d.tmp,{className:"ok-icon"}):null]})},ce=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,p.jsx)(d.xuv,{sx:{display:"flex",height:"47px",borderRadius:"2px","& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,p.jsx)(de,{loading:i,icon:n,label:(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{sx:{display:"inline",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Heal Activity"]}),value:t})})},xe=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,p.jsx)(d.xuv,{sx:{display:"flex",height:"47px",borderRadius:"2px","& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,p.jsx)(de,{loading:i,icon:n,label:(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{sx:{display:"inline",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Scan Activity"]}),value:t})})},ue=e=>{let{valueToRender:t="",loading:i=!1,iconWidget:n=null}=e;return(0,p.jsx)(d.xuv,{sx:{display:"flex",height:47,borderRadius:2,"& .dashboard-time-stat-item":{height:"100%",width:"100%"}},children:(0,p.jsx)(de,{loading:i,icon:n,label:(0,p.jsx)(d.xuv,{children:"Uptime"}),value:t})})},me=function(e,t,i,n,a){let l=arguments.length>5&&void 0!==arguments[5]&&arguments[5];switch(e.type){case u.singleValue:return(0,p.jsx)(le,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a});case u.simpleWidget:let o,s=null;return 80===e.id?s=ce:81===e.id?s=xe:1===e.id&&(s=ue),[80,81,1].includes(e.id)&&(o=e=>{let{valueToRender:t,loading:i,title:n,id:a,iconWidget:l}=e;return(0,p.jsx)(s,{valueToRender:t,loading:i,title:n,id:a,iconWidget:l})}),(0,p.jsx)(Y,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a,iconWidget:e.widgetIcon,renderFn:o});case u.pieChart:return 50===e.id?(0,p.jsx)(q,{children:(0,p.jsx)(se,{value:e,timeStart:t,timeEnd:i,apiPrefix:a})}):(0,p.jsx)(J,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a});case u.linearGraph:case u.areaGraph:return(0,p.jsx)(V,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,hideYAxis:e.disableYAxis,xAxisFormatter:e.xAxisFormatter,yAxisFormatter:e.yAxisFormatter,apiPrefix:a,areaWidget:e.type===u.areaGraph,zoomActivated:l});case u.barChart:return(0,p.jsx)(P,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,apiPrefix:a,zoomActivated:l});case u.singleRep:const r=e.fillColor?e.fillColor:e.color;return(0,p.jsx)(ne,{title:e.title,panelItem:e,timeStart:t,timeEnd:i,propLoading:n,color:e.color,fillColor:r,apiPrefix:a});default:return null}},pe=[{sx:{minWidth:0,display:"grid",gap:"30px",gridTemplateColumns:"1fr 1fr 1fr 1fr",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{gridTemplateColumns:"1fr"},["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr 1fr"}},columns:[{componentId:66},{componentId:44},{componentId:500},{componentId:501}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:50},{componentId:502}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:80},{componentId:81},{componentId:1}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:68},{componentId:52}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:63},{componentId:70}]}],ge=[{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},columns:[{componentId:60}]},{sx:{display:"grid",minWidth:0,gap:"30px",gridTemplateColumns:"1fr 1fr",["@media (max-width: ".concat(d.Egj.md,"px)")]:{gridTemplateColumns:"1fr"}},columns:[{componentId:71,sx:{flex:1,width:"50%",flexShrink:0}},{componentId:17,sx:{flex:1,width:"50%",flexShrink:0}}]},{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},columns:[{componentId:73}]}],he=[{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:76},{componentId:77}]},{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:82},{componentId:74}]}],fe=[{sx:{display:"grid",minWidth:0,gridTemplateColumns:"1fr 1fr",gap:"30px"},columns:[{componentId:11},{componentId:8}]}],je=e=>{let{children:t}=e;return(0,p.jsx)(d.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"30px"},children:t})};var ve=i(56028);const ye=e=>{let{value:t,modalOpen:i,timeStart:a,timeEnd:o,apiPrefix:s}=e;const r=(0,l.TL)();return t?(0,p.jsx)(ve.Z,{title:t.title,onClose:()=>{r((0,L.jv)())},modalOpen:i,wideLimit:!1,sx:{padding:0},children:(0,p.jsx)(n.Fragment,{children:me(t,a,o,!0,s,!0)})}):null};var Ce=i(63856),we=i(11087);const be=w.ZP.div((e=>{let{theme:t}=e;return{...(0,A.NP)(t),"& .metricText":{fontSize:70,lineHeight:1.1,color:x()(t,"signalColors.main","#07193E"),fontWeight:"bold"},"& .unitText":{fontSize:10,color:x()(t,"mutedText","#87888d"),fontWeight:"normal"},"& .subHeaderContainer":{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},"& .subMessage":{fontSize:10,color:x()(t,"mutedText","#87888d"),"&.bold":{fontWeight:"bold"}},"& .headerContainer":{display:"flex",justifyContent:"space-between"},"& .viewAll":{fontSize:10,color:x()(t,"signalColors.danger","#C83B51"),textTransform:"capitalize","& a, & a:hover, & a:visited, & a:active":{color:x()(t,"signalColors.danger","#C83B51")}}}})),Se=e=>{let{title:t,metricValue:i,metricUnit:a,subMessage:l,moreLink:o,rightComponent:s,extraMargin:r=!1}=e;const c=()=>(0,p.jsx)(n.Fragment,{children:(0,p.jsxs)("div",{className:"subHeaderContainer",children:[(0,p.jsxs)("div",{className:"leftSide",children:[(0,p.jsx)("div",{children:(0,p.jsxs)("span",{className:"metricText",children:[i,(0,p.jsx)("span",{className:"unitText",children:a})]})}),l&&(0,p.jsx)(d.xuv,{sx:{fontWeight:l.fontWeight||"normal"},children:l.message})]}),(0,p.jsx)("div",{className:"rightSide",children:s})]})}),x=()=>(0,p.jsx)(n.Fragment,{children:(0,p.jsxs)("div",{className:"headerContainer",children:[(0,p.jsx)("span",{className:"titleContainer",children:t}),o&&(0,p.jsx)(n.Fragment,{children:(0,p.jsx)("span",{className:"viewAll",children:(0,p.jsx)(we.rU,{to:o,children:"View All"})})})]})});return(0,p.jsx)(n.Fragment,{children:(0,p.jsx)(d.xuv,{withBorders:!0,sx:{height:200,padding:16,margin:r?"10px 20px 10px 0":""},children:""!==i&&(0,p.jsxs)(be,{children:[(0,p.jsx)(x,{}),(0,p.jsx)(c,{})]})})})},Ee=e=>{let{title:t,leftComponent:i,rightComponent:a}=e;return(0,p.jsx)(n.Fragment,{children:(0,p.jsx)(Se,{title:t,metricValue:i,rightComponent:a})})},Te=e=>{let{panelItem:t,timeStart:i,timeEnd:o,apiPrefix:s,statLabel:c}=e;const x=(0,l.TL)(),[u,m]=(0,n.useState)(!1),[g,h]=(0,n.useState)(""),f=(0,a.v9)((e=>e.dashboard.widgetLoadVersion));return(0,n.useEffect)((()=>{m(!0)}),[f]),(0,n.useEffect)((()=>{if(u){let e=0;if(null!==i&&null!==o){const t=o.toUnixInteger()-i.toUnixInteger(),n=Math.floor(t/60);e=n<1?15:n}z.Z.invoke("GET","/api/v1/".concat(s,"/info/widgets/").concat(t.id,"/?step=").concat(e,"&").concat(null!==i?"&start=".concat(i.toUnixInteger()):"").concat(null!==i&&null!==o?"&":"").concat(null!==o?"end=".concat(o.toUnixInteger()):"")).then((e=>{const i=y(e,t);h(i.data),m(!1)})).catch((e=>{x((0,r.Ih)(e)),m(!1)}))}}),[u,t,o,i,x,s]),u?(0,p.jsx)(d.xuv,{sx:{width:"100%",paddingTop:"5px",textAlign:"center",margin:"auto"},children:(0,p.jsx)(d.aNw,{style:{width:12,height:12}})}):(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{className:"stat-value",children:g}),c]})},Ie=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"321px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default","& .stat-text":{color:x()(t,"mutedText","#87888d"),fontSize:"12px",marginTop:"8px"}}})),Ne=e=>{let{statItemLeft:t=null,statItemRight:i=null,icon:n=null,label:a=""}=e;return(0,p.jsx)(Ie,{children:(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",padding:"0 8px 0 8px",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",flexFlow:"column"},children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"16px",fontWeight:600},children:a}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center",gap:5,justifyContent:"space-between",paddingBottom:0,fontSize:55,flexFlow:"row",fontWeight:600,"& .stat-value":{textAlign:"center",height:"50px"},"& .min-icon":{marginRight:"8px",marginTop:"8px",height:"10px",width:"10px"},["@media (max-width: ".concat(d.Egj.sm,"px)")]:{fontSize:35},["@media (max-width: ".concat(d.Egj.lg,"px)")]:{fontSize:45},["@media (max-width: ".concat(d.Egj.xl,"px)")]:{fontSize:50}},children:[t,i]})]}),(0,p.jsx)(d.xuv,{sx:{width:"20px",height:"20px",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:n})]})})},Fe=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",marginTop:"5px",gap:8,"&.online":{"& .min-icon":{margin:0,fill:x()(t,"signalColors.good","#4CCB92")}},"&.offline":{"& .min-icon":{margin:0,fill:x()(t,"signalColors.danger","#C51B3F")}},"& .indicatorText":{color:x()(t,"mutedText","#C51B3F"),fontSize:12}}})),Ae=e=>{let{info:t,timeStart:i,timeEnd:n,apiPrefix:a}=e;const{mergedPanels:l=[],id:o}=t,[s,r]=l,c=(0,p.jsx)(Te,{panelItem:s,timeStart:i,timeEnd:n,apiPrefix:a,statLabel:(0,p.jsxs)(Fe,{className:"online",children:[(0,p.jsx)(d.J$M,{}),(0,p.jsx)(d.xuv,{className:"indicatorText",children:"Online"})]})}),x=(0,p.jsx)(Te,{panelItem:r,timeStart:i,timeEnd:n,apiPrefix:a,statLabel:(0,p.jsxs)(Fe,{className:"offline",children:[(0,p.jsx)(d.J$M,{}),(0,p.jsx)(d.xuv,{className:"indicatorText",children:"Offline"})]})});let u=null,m="";return 500===o?(u=(0,p.jsx)(d.SBZ,{}),m="Servers"):501===o&&(u=(0,p.jsx)(d.FU8,{}),m="Drives"),(0,p.jsx)(Ne,{statItemLeft:c,statItemRight:x,icon:u,label:m})},Le=w.ZP.div((e=>{let{theme:t}=e;return{"& .putLabel":{display:"flex",gap:10,alignItems:"center",marginTop:"10px","& .min-icon":{height:15,width:15,fill:x()(t,"signalColors.good","#4CCB92")},"& .getText":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),fontWeight:"bold"},"& .valueText":{fontSize:50,fontFamily:"Inter",fontWeight:600}}}})),ke=e=>{let{value:t,loading:i}=e;return(0,p.jsxs)(Le,{children:[(0,p.jsxs)(d.xuv,{className:"putLabel",children:[(0,p.jsx)(d.xuv,{className:"getText",children:"GET"}),i?(0,p.jsx)(d.aNw,{style:{width:"15px",height:"15px"}}):(0,p.jsx)(d.vUj,{})]}),(0,p.jsx)(d.xuv,{className:"valueText",children:t})]})},We=w.ZP.div((e=>{let{theme:t}=e;return{"& .putLabel":{display:"flex",gap:10,alignItems:"center",marginTop:"10px","& .min-icon":{height:15,width:15,fill:x()(t,"signalColors.info","#2781B0")},"& .putText":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),fontWeight:"bold"},"& .valueText":{fontSize:50,fontFamily:"Inter",fontWeight:600}}}})),Re=e=>{let{value:t,loading:i}=e;return(0,p.jsxs)(We,{children:[(0,p.jsxs)(d.xuv,{className:"putLabel",children:[(0,p.jsx)(d.xuv,{className:"putText",children:"PUT"}),i?(0,p.jsx)(d.aNw,{style:{width:"15px",height:"15px"}}):(0,p.jsx)(d.Uxq,{})]}),(0,p.jsx)(d.xuv,{className:"valueText",children:t})]})},Be=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",flexFlow:"row",gap:"15px","& .unitText":{fontSize:"14px",color:x()(t,"mutedText","#87888d"),marginLeft:"5px"},"& .unit":{color:x()(t,"mutedText","#87888d"),fontSize:"18px",marginLeft:"12px",marginTop:"10px"},["@media (max-width: ".concat(d.Egj.sm,"px)")]:{flexFlow:"column"}}})),ze=e=>{let{value:t,timeStart:i,timeEnd:n,apiPrefix:a}=e;const{mergedPanels:l=[]}=t,[o,s]=l,r=(0,p.jsx)(le,{title:t.title,panelItem:o,timeStart:i,timeEnd:n,apiPrefix:a,renderFn:e=>{let{valueToRender:t,loading:i,title:n,id:a}=e;return(0,p.jsx)(Re,{value:t,loading:i,title:n,id:a})}}),c=(0,p.jsx)(le,{title:t.title,panelItem:s,timeStart:i,timeEnd:n,apiPrefix:a,renderFn:e=>{let{valueToRender:t,loading:i,title:n,id:a}=e;return(0,p.jsx)(ke,{value:t,loading:i,title:n,id:a})}});return(0,p.jsxs)(Be,{children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"16px",fontWeight:600},children:"Network"}),(0,p.jsx)(d.xuv,{sx:{position:"relative",width:110,height:110,marginLeft:"auto",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{marginLeft:"0"}},children:(0,p.jsx)(d.xuv,{sx:{position:"absolute",display:"flex",flexFlow:"column",alignItems:"center",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",fontSize:12},children:c})}),(0,p.jsx)(d.xuv,{sx:{display:"flex",alignItems:"center",marginLeft:"auto",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{marginLeft:"0"}},children:(0,p.jsx)(d.xuv,{sx:{display:"flex",alignItems:"center","& .value":{fontSize:"50px",fontFamily:"Inter"}},children:r})}),(0,p.jsx)(d.xuv,{sx:{marginLeft:"15px",height:"100%",display:"flex",alignItems:"flex-start","& .min-icon":{height:"15px",width:"15px"}},children:(0,p.jsx)(d.QBB,{})})]})},De=e=>{let{info:t,timeStart:i,timeEnd:n,loading:a,apiPrefix:l}=e;const{mergedPanels:o=[],title:s="",id:r}=t,[d,c]=o;return[500,501].includes(r)?(0,p.jsx)(q,{children:(0,p.jsx)(Ae,{info:t,timeStart:i,timeEnd:n,apiPrefix:l})}):502===r?(0,p.jsx)(q,{children:(0,p.jsx)(ze,{apiPrefix:l,timeEnd:n,timeStart:i,value:t})}):(0,p.jsx)(Ee,{title:s,leftComponent:me(d,i,n,a,l),rightComponent:me(c,i,n,a,l)})};var Ue=i(31300),Pe=i(98444),Me=i.n(Pe),Ze=i(879);const Oe=w.ZP.div((e=>{let{theme:t}=e;return{alignItems:"baseline",padding:"5px",display:"flex",gap:"5px","& .StatBox":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column","& .stat-text":{color:x()(t,"mutedText","#87888d"),fontSize:"12px"},"& .stat-value":{fontSize:"18px",color:x()(t,"signalColors.main","#07193E"),display:"flex",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","& .stat-container":{display:"flex",alignItems:"center",justifyContent:"center",flexFlow:"column",marginLeft:"5px",maxWidth:"40px","&:first-of-type(svg)":{fill:x()(t,"mutedText","#87888d")},"& .stat-indicator":{marginRight:"0px",justifyContent:"center",alignItems:"center",textAlign:"center","& svg.min-icon":{width:"10px",height:"10px"},"&.good":{"& svg.min-icon":{fill:x()(t,"signalColors.good","#4CCB92")}},"&.warn":{"& svg.min-icon":{fill:x()(t,"signalColors.warning","#FFBD62")}},"&.bad":{"& svg.min-icon":{fill:x()(t,"signalColors.danger","#C51B3F")}}}}}}}})),Ge=w.ZP.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"flex-start",flexFlow:"column",flex:1,"& .server-state":{marginLeft:"8px","& .min-icon":{height:"14px",width:"14px"},"&.good":{"& svg.min-icon":{fill:x()(t,"signalColors.good","#4CCB92")}},"&.warn":{"& svg.min-icon":{fill:x()(t,"signalColors.warning","#FFBD62")}},"&.bad":{"& svg.min-icon":{fill:x()(t,"signalColors.danger","#C51B3F")}}}}})),_e=e=>{let{label:t="",value:i="",statusColor:n="warn",hasStatus:a=!1}=e;return(0,p.jsx)(Oe,{children:(0,p.jsxs)(d.xuv,{className:"StatBox",children:[(0,p.jsxs)("div",{className:"stat-value",children:[i," ",(0,p.jsx)(d.xuv,{className:"stat-container",children:a?(0,p.jsx)(d.xuv,{className:"stat-indicator ".concat(n),children:(0,p.jsx)(d.J$M,{})}):(0,p.jsx)(d.xuv,{sx:{width:"12px",height:"12px"}})})]}),(0,p.jsx)("div",{className:"stat-text",children:t})]})})},Ve=e=>{let{server:t}=e;const i=Object.keys(x()(t,"network",{})),n=i.length,a=t.drives?t.drives.length:0,l=i.reduce(((e,i)=>"online"===(t.network?t.network[i]:"")?e+1:e),0),o=t.drives?t.drives.filter((e=>"ok"===e.state)).length:0;return(0,p.jsx)(Ge,{children:(0,p.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center",padding:"3px",gap:"15px",justifyContent:"space-between",width:"100%",paddingLeft:"20px",flexFlow:"row",["@media (max-width: ".concat(d.Egj.md,"px)")]:{flexFlow:"column"}},children:[(0,p.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center"},children:[(0,p.jsx)(d.xuv,{sx:{fontWeight:600,textTransform:"none"},children:t.endpoint||""}),(null===t||void 0===t?void 0:t.state)&&(0,p.jsx)(d.xuv,{className:"server-state ".concat((0,Ze.GJ)(t.state)),children:(0,p.jsx)(d.J$M,{})})]}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flex:"1.5",gap:"5%"},children:[(0,p.jsx)(_e,{statusColor:(0,Ze.Et)(o,a),label:"Drives",hasStatus:!0,value:"".concat(o,"/").concat(a)}),(0,p.jsx)(_e,{statusColor:(0,Ze.D_)(l,n),label:"Network",hasStatus:!0,value:"".concat(l,"/").concat(n)}),(0,p.jsx)(_e,{statusColor:"good",label:"Up time",value:null!==t&&void 0!==t&&t.uptime?(0,m.v1)("".concat(t.uptime)):"N/A"})]}),(0,p.jsx)(_e,{statusColor:"good",label:"",value:(0,p.jsxs)(d.xuv,{sx:{background:"rgb(235, 236, 237)",color:"#000000",paddingLeft:"10px",paddingRight:"10px",borderRadius:"2px",fontSize:"12px",marginTop:"5px","& .label":{fontWeight:600,marginRight:"3px"}},children:[(0,p.jsx)("span",{className:"label",children:"Version:"}),t.version?t.version:"N/A"]})})]})})},Ke=e=>{switch(e){case"offline":return Ze.yh.RED;case"ok":return Ze.yh.GREEN;default:return Ze.yh.YELLOW}},He=w.ZP.div((e=>{let{theme:t}=e;return{flex:1,display:"flex",alignItems:"center",paddingLeft:"20px",marginTop:"10px",flexFlow:"row","& .info-label":{color:x()(t,"mutedText","#87888d"),fontSize:"12px",textAlign:"center"},"& .info-value":{fontSize:"18px",color:x()(t,"signalColors.main","#07193E"),display:"flex",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},["@media (max-width: ".concat(d.Egj.sm,"px)")]:{flexFlow:"column"}}})),$e=e=>{let{drive:t}=e;const i=t.totalSpace||0,n=t.usedSpace||0;return(0,p.jsx)(d.xuv,{withBorders:!0,sx:{display:"flex",flex:1,alignItems:"center",paddingBottom:"10px",padding:"20px"},children:(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column",marginLeft:"10px",flex:1},children:[(0,p.jsxs)(d.xuv,{sx:{fontSize:"14px",fontWeight:400,display:"flex",alignItems:"center","& .min-icon":{marginRight:"10px",height:"10px",width:"10px",fill:Ke(t.state||""),flexShrink:0},"& .drive-endpoint":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all",marginRight:"8px",fontWeight:600,fontSize:16,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{fontSize:10}}},children:[(0,p.jsx)("div",{className:"drive-endpoint",children:t.endpoint||""}),t.state&&(0,p.jsx)(d.J$M,{})]}),(0,p.jsxs)(He,{children:[(0,p.jsx)(d.xuv,{sx:{flex:1},children:(0,p.jsx)(d.mWO,{label:!0,usedBytes:n,totalBytes:i,width:"120",height:"120"})}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",gap:"5%",alignItems:"center",flex:2,flexGrow:1},children:[(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,p.jsx)("div",{className:"info-value",children:(0,m.ae)(t.totalSpace?t.totalSpace.toString():"0")}),(0,p.jsx)("label",{className:"info-label",children:"Capacity"})]}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,p.jsx)("div",{className:"info-value",children:(0,m.ae)(t.usedSpace?t.usedSpace.toString():"0")}),(0,p.jsx)("label",{className:"info-label",children:"Used"})]}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column"},children:[(0,p.jsx)("div",{className:"info-value",children:(0,m.ae)(t.availableSpace?t.availableSpace.toString():"0")}),(0,p.jsx)("label",{className:"info-label",children:"Available"})]})]})]})]})})},Je=e=>{let{data:t}=e;const[i,a]=n.useState(t.length>1?"":t[0].endpoint+"-0"),l=e=>{a(e)};return(0,p.jsxs)(d.xuv,{children:[(0,p.jsxs)(d.xuv,{sx:{fontSize:18,lineHeight:2,fontWeight:700},children:["Servers (",t.length,")"]}),(0,p.jsx)(d.xuv,{children:t.map(((e,t)=>{var n,a;const o="".concat(e.endpoint,"-").concat(t),s=i===o;return(0,p.jsxs)(d.UQy,{expanded:s,onTitleClick:()=>{l(s?"":o)},id:"key",title:(0,p.jsx)(Ve,{server:e,index:t}),sx:{marginBottom:15},children:[(0,p.jsxs)(d.xuv,{useBackground:!0,sx:{padding:"10px 30px",fontWeight:"bold"},children:["Drives (",null===(n=e.drives)||void 0===n?void 0:n.length,")"]}),(0,p.jsx)(d.xuv,{sx:{flex:1,display:"flex",flexDirection:"column",padding:"15px 30px",gap:15,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{padding:"10px 10px"}},children:null===(a=e.drives)||void 0===a?void 0:a.map(((e,t)=>(0,p.jsx)($e,{drive:e},"".concat(e.endpoint,"-").concat(t))))})]},o)}))})]})},Xe=w.ZP.div((e=>{let{theme:t}=e;return{fontFamily:"Inter,sans-serif",color:x()(t,"signalColors.main","#07193E"),maxWidth:"300px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"}})),Ye=e=>{let{counterValue:t,label:i="",icon:n=null,actions:a=null}=e;return(0,p.jsx)(Xe,{children:(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",width:"100%",padding:"0 8px 0 8px",position:"absolute",["@media (max-width: ".concat(d.Egj.md,"px)")]:{padding:"0 10px 0 10px"}},children:[(0,p.jsxs)(d.xuv,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"8px",zIndex:10,overflow:"hidden"},children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,p.jsx)(d.ua7,{tooltip:t,placement:"bottom",children:(0,p.jsx)(d.xuv,{sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:187,flexFlow:"row",fontSize:t.toString().length>=5?50:55,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{flexFlow:"column",maxWidth:200,fontSize:t.toString().length>=5?20:35},["@media (max-width: ".concat(d.Egj.md,"px)")]:{fontSize:t.toString().length>=5?28:35},["@media (max-width: ".concat(d.Egj.lg,"px)")]:{fontSize:t.toString().length>=5?28:36},["@media (max-width: ".concat(d.Egj.xl,"px)")]:{fontSize:t.toString().length>=5?45:50}},children:t})})]}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"flex-start",marginTop:"8px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:[n,(0,p.jsx)(d.xuv,{sx:{display:"flex"},children:a})]})]})})},qe=w.ZP.div((e=>{let{theme:t}=e;return{maxHeight:"110px",display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"19px",padding:"10px","& .unit-value":{fontSize:"50px",color:x()(t,"signalColors.main","#07193E")},"& .unit-type":{fontSize:"18px",color:x()(t,"mutedText","#87888d"),marginTop:"20px",marginLeft:"5px"},"& .usage-label":{display:"flex",alignItems:"center",fontSize:"16px",fontWeight:600,marginRight:"20px",marginTop:"-10px","& .min-icon":{marginLeft:"10px",height:16,width:16}}}})),Qe=e=>{let{usageValue:t,total:i,unit:n}=e;const a=[{value:i,color:"#D6D6D6",label:"Free Space"},{value:t,color:"#073052",label:"Used Space"}];return(0,p.jsxs)(qe,{children:[(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)("div",{className:"usage-label",children:(0,p.jsx)("span",{children:"Reported Usage"})}),(0,p.jsx)(d.ua7,{tooltip:"".concat(t," Bytes"),children:(0,p.jsx)("label",{className:"unit-value",style:{fontWeight:600},children:i})}),(0,p.jsx)("label",{className:"unit-type",children:n})]}),(0,p.jsx)(d.xuv,{children:(0,p.jsx)(d.xuv,{sx:{flex:1},children:(0,p.jsx)("div",{style:{position:"relative",width:105,height:105,top:"-8px"},children:(0,p.jsx)("div",{children:(0,p.jsx)(K.u,{width:105,height:105,children:(0,p.jsx)(H.b,{data:a,cx:"50%",cy:"50%",dataKey:"value",outerRadius:45,innerRadius:35,startAngle:-70,endAngle:360,animationDuration:1,children:a.map(((e,t)=>(0,p.jsx)(N.b,{fill:e.color},"cellCapacity-".concat(t))))})})})})})})]})};var et=i(56087),tt=i(27454);const it=e=>{let{children:t}=e;return(0,p.jsx)(d.xuv,{withBorders:!0,sx:{padding:15,height:"136px",maxWidth:"100%",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{padding:5,maxWidth:"initial"}},children:t})},nt=e=>{var t,i,n,a,l,o,s,r,c,x;let{usage:u}=e;const g=u&&u.usage?u.usage.toString():"0",h=(e=>void 0===e?{total:"0",unit:"Mi"}:(0,m.Am)(e))(g),{lastScan:f="n/a",lastHeal:j="n/a",upTime:v="n/a"}={},y=(e=>e&&e.servers?[...e.servers].sort((function(e,t){var i,n;const a=(null===(i=e.endpoint)||void 0===i?void 0:i.toLowerCase())||"",l=(null===(n=t.endpoint)||void 0===n?void 0:n.toLowerCase())||"";return al?1:0})):[])(u);let C=[];y.forEach((e=>{var t;const i=null===(t=e.drives)||void 0===t?void 0:t.map((e=>e));i&&(C=[...C,...i])}));const w=Me()(y,"state"),{offline:b=[],online:S=[]}=w,E=Me()(C,"state"),{offline:T=[],ok:I=[]}=E;return(0,p.jsx)(d.xuv,{children:(0,p.jsxs)(d.xuv,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:"1fr",gap:27,marginBottom:40},children:[(0,p.jsxs)(d.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:"40px"},children:[(0,p.jsxs)(d.xuv,{sx:{display:"grid",gridTemplateRows:"136px",gridTemplateColumns:"1fr 1fr 1fr",gap:20,["@media (max-width: ".concat(d.Egj.sm,"px)")]:{gridTemplateColumns:"1fr"},["@media (max-width: ".concat(d.Egj.md,"px)")]:{marginBottom:0}},children:[(0,p.jsx)(it,{children:(0,p.jsx)(Ye,{label:"Buckets",icon:(0,p.jsx)(d.wNb,{}),counterValue:u?(0,m.nk)(u.buckets):0,actions:(0,p.jsx)(we.rU,{to:et.gA.BUCKETS,style:{zIndex:3,textDecoration:"none",top:"40px",position:"relative",marginRight:"75px"},children:(0,p.jsx)(tt.Z,{tooltip:"Browse",children:(0,p.jsx)(d.zxk,{id:"browse-dashboard",onClick:()=>{},label:"Browse",icon:(0,p.jsx)(d.LZ3,{}),variant:"regular",style:{padding:5,height:30,fontSize:14,marginTop:20}})})})})}),(0,p.jsx)(it,{children:(0,p.jsx)(Ye,{label:"Objects",icon:(0,p.jsx)(d.xpX,{}),counterValue:u?(0,m.nk)(u.objects):0})}),(0,p.jsx)(it,{children:(0,p.jsx)(Ue.Z,{onlineCount:S.length,offlineCount:b.length,label:"Servers",icon:(0,p.jsx)(d.SBZ,{})})}),(0,p.jsx)(it,{children:(0,p.jsx)(Ue.Z,{offlineCount:(null===u||void 0===u||null===(t=u.backend)||void 0===t?void 0:t.offlineDrives)||T.length,onlineCount:(null===u||void 0===u||null===(i=u.backend)||void 0===i?void 0:i.onlineDrives)||I.length,label:"Drives",icon:(0,p.jsx)(d.FU8,{})})}),(0,p.jsxs)(d.xuv,{withBorders:!0,sx:{gridRowStart:"1",gridRowEnd:"3",gridColumnStart:"3",padding:15,display:"grid",justifyContent:"stretch"},children:[(0,p.jsx)(Qe,{usageValue:g,total:h.total,unit:h.unit}),(0,p.jsxs)(d.xuv,{sx:{display:"flex",flexFlow:"column",gap:"14px"},children:[(0,p.jsx)(de,{icon:(0,p.jsx)(d.lnI,{}),label:(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{sx:{display:"inline",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Heal Activity"]}),value:j}),(0,p.jsx)(de,{icon:(0,p.jsx)(d.EY8,{}),label:(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{sx:{display:"inline",["@media (max-width: ".concat(d.Egj.sm,"px)")]:{display:"none"}},children:"Time since last"})," ","Scan Activity"]}),value:f}),(0,p.jsx)(de,{icon:(0,p.jsx)(d.oNq,{}),label:"Uptime",value:v})]})]})]}),(0,p.jsxs)(d.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"14px",["@media (max-width: ".concat(d.Egj.lg,"px)")]:{gridTemplateColumns:"1fr"}},children:[(0,p.jsx)(de,{icon:(0,p.jsx)(d.idV,{}),label:"Backend type",value:null!==(n=null===u||void 0===u||null===(a=u.backend)||void 0===a?void 0:a.backendType)&&void 0!==n?n:"Unknown"}),(0,p.jsx)(de,{icon:(0,p.jsx)(d.QaX,{}),label:"Standard storage class parity",value:null!==(l=null===u||void 0===u||null===(o=u.backend)||void 0===o||null===(s=o.standardSCParity)||void 0===s?void 0:s.toString())&&void 0!==l?l:"n/a"}),(0,p.jsx)(de,{icon:(0,p.jsx)(d.QaX,{}),label:"Reduced redundancy storage class parity",value:null!==(r=null===u||void 0===u||null===(c=u.backend)||void 0===c||null===(x=c.rrSCParity)||void 0===x?void 0:x.toString())&&void 0!==r?r:"n/a"})]}),(0,p.jsx)(d.xuv,{sx:{display:"grid",gridTemplateRows:"auto",gridTemplateColumns:"1fr",gap:"auto"},children:(0,p.jsx)(Je,{data:y})})]}),"not configured"===(null===u||void 0===u?void 0:u.advancedMetricsStatus)&&(0,p.jsx)(d.xuv,{children:(0,p.jsx)(d.KfX,{iconComponent:(0,p.jsx)(d.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,p.jsxs)(d.xuv,{children:[(0,p.jsx)(d.xuv,{sx:{fontSize:"14px"},children:"MinIO Dashboard will display basic metrics as we couldn\u2019t connect to Prometheus successfully. Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."}),(0,p.jsx)(d.xuv,{sx:{paddingTop:20,fontSize:14},children:(0,p.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/monitoring/collect-minio-metrics-using-prometheus.html",target:"_blank",rel:"noopener",children:"Read more about Prometheus on our Docs site."})})]})})})]})})},at=e=>{let{apiPrefix:t="admin",usage:i}=e;const a=(0,l.TL)(),r=(0,l.CG)((e=>e.dashboard.status)),c=(0,l.CG)((e=>e.dashboard.zoom.openZoom)),x=(0,l.CG)((e=>e.dashboard.zoom.widgetRender)),u=(0,l.CG)(s.$4),m=!(null===u||void 0===u||!u.includes("object-browser-only"));let g=!1;(null!==u&&void 0!==u&&u.includes("hide-menu")||m)&&(g=!0);const[h,f]=(0,n.useState)(null),[v,y]=(0,n.useState)(null),C=j,[w,b]=(0,n.useState)("info"),S=e=>e.reduce(((e,i,a)=>{const{columns:l=[]}=i,o=l.map(((e,i)=>{var l;return((e,i)=>(0,p.jsx)(n.Fragment,{children:e?(0,p.jsx)(n.Fragment,{children:(0,p.jsx)(d.xuv,{children:e.mergedPanels?(0,p.jsx)(De,{info:e,timeStart:h,timeEnd:v,loading:!0,apiPrefix:t}):me(e,h,v,!0,t,c)})}):null},"widget-".concat(i)))((l=e.componentId,C.find((e=>e.id===l))),"".concat(a,"-").concat(i))}));return[...e,(0,p.jsx)(d.xuv,{sx:i.sx,children:o},"layout-row-".concat(a))]}),[]),E="not configured"===(null===i||void 0===i?void 0:i.advancedMetricsStatus),T=(0,p.jsx)(d.xuv,{sx:{marginBottom:20},children:"info"===w?(0,p.jsxs)(d.rjZ,{container:!0,children:[(0,p.jsx)(d.rjZ,{item:!0,children:(0,p.jsx)(d.xuv,{sx:{fontSize:18,lineHeight:2,fontWeight:700},children:"Server Information"})}),(0,p.jsx)(d.rjZ,{item:!0,xs:!0,children:(0,p.jsx)(d.rjZ,{container:!0,direction:"row-reverse",children:(0,p.jsx)(d.rjZ,{item:!0,children:(0,p.jsx)(d.zxk,{id:"sync",type:"button",variant:"callAction",onClick:()=>{a((0,o.y)())},disabled:"loading"===r,icon:(0,p.jsx)(d.bnu,{}),label:"Sync"})})})})]}):(0,p.jsx)(Ce.Z,{timeStart:h,setTimeStart:f,timeEnd:v,setTimeEnd:y,triggerSync:()=>{a((0,L.JO)())}})});let I=[{tabConfig:{label:"Info",id:"info",disabled:!1},content:(0,p.jsxs)(n.Fragment,{children:[(!i||"loading"===r)&&(0,p.jsx)(d.kod,{}),i&&"idle"===r&&(0,p.jsxs)(n.Fragment,{children:[T,(0,p.jsx)(nt,{usage:i})]})]})},...[{tabConfig:{label:"Usage",id:"usage",disabled:E},content:(0,p.jsxs)(n.Fragment,{children:[T,(0,p.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,p.jsx)(d.KfX,{iconComponent:(0,p.jsx)(d.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,p.jsx)(d.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),C.length?S(pe):null]})]})},{tabConfig:{label:"Traffic",id:"traffic",disabled:E},content:(0,p.jsxs)(n.Fragment,{children:[T,(0,p.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,p.jsx)(d.KfX,{iconComponent:(0,p.jsx)(d.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,p.jsx)(d.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),C.length?S(ge):null]})]})},{tabConfig:{label:"Resources",id:"resources",disabled:E},content:(0,p.jsxs)(n.Fragment,{children:[T,(0,p.jsxs)(je,{children:["unavailable"===(null===i||void 0===i?void 0:i.advancedMetricsStatus)&&(0,p.jsx)(d.KfX,{iconComponent:(0,p.jsx)(d.a$2,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,p.jsx)(d.xuv,{sx:{fontSize:"14px"},children:"It looks like Prometheus is not available or reachable at the moment."})}),C.length?S(he):null,(0,p.jsx)("h2",{style:{margin:0,borderBottom:"1px solid #dedede"},children:"Advanced"}),C.length?S(fe):null]})]})}]];return(0,p.jsxs)(d.Xgh,{sx:{padding:g?0:"2rem"},children:[c&&(0,p.jsx)(ye,{modalOpen:c,timeStart:h,timeEnd:v,widgetRender:0,value:x,apiPrefix:t}),(0,p.jsx)(d.mQc,{horizontal:!0,options:I,currentTabOrPath:w,onTabClick:e=>{b(e)}})]})};var lt=i(79844),ot=i(99670);const st=()=>{const e=(0,l.TL)(),[t,i]=(0,n.useState)(!1),d=(0,a.v9)((e=>e.dashboard.usage)),c=(0,a.v9)(s.$4),x=!(null===c||void 0===c||!c.includes("object-browser-only"));let u=!1;return(null!==c&&void 0!==c&&c.includes("hide-menu")||x)&&(u=!0),(0,n.useEffect)((()=>{t||(i(!0),e((0,o.y)()))}),[t,e]),(0,n.useEffect)((()=>{e((0,r.Sc)("metrics"))}),[e]),(0,p.jsxs)(n.Fragment,{children:[!u&&(0,p.jsx)(lt.Z,{label:"Metrics",actions:(0,p.jsx)(ot.Z,{})}),(0,p.jsx)(at,{usage:d})]})}}}]);
+//# sourceMappingURL=8388.0b3d6077.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/8388.0b3d6077.chunk.js.map b/portal-ui/build/static/js/8388.0b3d6077.chunk.js.map
new file mode 100644
index 000000000..f8bd5a13b
--- /dev/null
+++ b/portal-ui/build/static/js/8388.0b3d6077.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/8388.0b3d6077.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx","screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Dashboard/Prometheus/types.ts","screens/Console/Dashboard/Prometheus/utils.tsx","screens/Console/Dashboard/Prometheus/Widgets/ExpandGraphLink.tsx","screens/Console/Dashboard/DownloadWidgetDataButton.tsx","screens/Console/Dashboard/Prometheus/Widgets/tooltips/BarChartTooltip.tsx","screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/tooltips/LineChartTooltip.tsx","screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx","screens/Console/Dashboard/DashboardItemBox.tsx","screens/Console/Dashboard/Prometheus/Widgets/NumericStatCard.tsx","screens/Console/Dashboard/Prometheus/Widgets/BucketsCountItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/ObjectsCountItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/SingleRepWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx","screens/Console/Dashboard/TimeStatItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/HealActivityRenderer.tsx","screens/Console/Dashboard/Prometheus/Widgets/ScanActivityRenderer.tsx","screens/Console/Dashboard/Prometheus/Widgets/UptimeActivityRenderer.tsx","screens/Console/Dashboard/Prometheus/widgetUtils.tsx","screens/Console/Dashboard/Prometheus/Widgets/LayoutUtil.tsx","screens/Console/Dashboard/Prometheus/ZoomWidget.tsx","screens/Console/Dashboard/CommonCard.tsx","screens/Console/Dashboard/Prometheus/MergedWidgets.tsx","screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/DualStatCard.tsx","screens/Console/Dashboard/Prometheus/Widgets/EntityStateItemRenderer.tsx","screens/Console/Dashboard/Prometheus/Widgets/NetworkGetItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/NetworkPutItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/NetworkItem.tsx","screens/Console/Dashboard/Prometheus/Widgets/MergedWidgetsRenderer.tsx","screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx","screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx","screens/Console/Dashboard/BasicDashboard/ServersList.tsx","screens/Console/Dashboard/BasicDashboard/CounterCard.tsx","screens/Console/Dashboard/BasicDashboard/ReportedUsage.tsx","screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx","screens/Console/Dashboard/Prometheus/PrDashboard.tsx","screens/Console/Dashboard/Dashboard.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 {\n Button,\n SyncIcon,\n Grid,\n Box,\n breakPoints,\n TimeIcon,\n DateTimeInput,\n} from \"mds\";\nimport { DateTime } from \"luxon\";\n\ninterface IDateRangeSelector {\n timeStart: DateTime | null;\n setTimeStart: (value: DateTime | null) => void;\n timeEnd: DateTime | null;\n setTimeEnd: (value: DateTime | null) => void;\n triggerSync?: () => void;\n label?: string;\n startLabel?: string;\n endLabel?: string;\n}\n\nconst DateRangeSelector = ({\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n label = \"Filter:\",\n startLabel = \"Start Time:\",\n endLabel = \"End Time:\",\n}: IDateRangeSelector) => {\n return (\n \n \n \n {label}\n \n \n \n \n {startLabel}\n \n }\n />\n \n \n {endLabel}\n \n }\n />\n \n\n {triggerSync && (\n \n }\n label={\"Sync\"}\n />\n \n )}\n \n \n );\n};\n\nexport default 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 from \"react\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { Box, breakPoints, CircleIcon } from \"mds\";\n\nconst StatusCountBase = styled.div(({ theme }) => ({\n fontFamily: \"Inter,sans-serif\",\n maxWidth: \"321px\",\n display: \"flex\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n cursor: \"default\",\n color: get(theme, \"signalColors.main\", \"#07193E\"),\n \"& .mainBox\": {\n flex: 1,\n display: \"flex\",\n padding: \"0 8px 0 8px\",\n [`@media (max-width: ${breakPoints.sm}px)`]: {\n padding: \"0 10px 0 10px\",\n },\n \"& .indicatorIcon\": {\n width: \"20px\",\n height: \"20px\",\n marginTop: \"8px\",\n maxWidth: \"26px\",\n \"& .min-icon\": {\n width: \"16px\",\n height: \"16px\",\n },\n },\n \"& .indicatorContainer\": {\n flex: 1,\n display: \"flex\",\n flexFlow: \"column\",\n \"& .indicatorLabel\": {\n fontSize: \"16px\",\n fontWeight: 600,\n },\n \"& .counterIndicator\": {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"5px\",\n justifyContent: \"space-between\",\n paddingBottom: 0,\n fontSize: \"55px\",\n [`@media (max-width: ${breakPoints.sm}px)`]: {\n paddingBottom: 10,\n fontSize: \"35px\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n fontSize: \"45px\",\n },\n [`@media (max-width: ${breakPoints.xl}px)`]: {\n fontSize: \"50px\",\n },\n flexFlow: \"row\",\n fontWeight: 600,\n\n \"& .stat-text\": {\n color: get(theme, \"mutedText\", \"#87888D\"),\n fontSize: \"12px\",\n marginTop: \"8px\",\n },\n \"& .stat-value\": {\n textAlign: \"center\",\n height: \"50px\",\n },\n \"& .min-icon\": {\n marginRight: \"8px\",\n marginTop: \"8px\",\n height: \"10px\",\n width: \"10px\",\n },\n },\n \"& .onlineCounter\": {\n display: \"flex\",\n alignItems: \"center\",\n marginTop: \"5px\",\n \"& .min-icon\": {\n fill: get(theme, \"signalColors.good\", \"#4CCB92\"),\n },\n },\n \"& .offlineCount\": {\n display: \"flex\",\n alignItems: \"center\",\n marginTop: \"8px\",\n \"& .min-icon\": {\n fill: get(theme, \"signalColors.danger\", \"#C51B3F\"),\n },\n },\n },\n },\n}));\n\nexport const StatusCountCard = ({\n onlineCount = 0,\n offlineCount = 0,\n icon = null,\n label = \"\",\n okStatusText = \"Online\",\n notOkStatusText = \"Offline\",\n}: {\n icon: any;\n onlineCount: number;\n offlineCount: number;\n label: string;\n okStatusText?: string;\n notOkStatusText?: string;\n}) => {\n return (\n \n \n \n {label}\n\n \n \n {onlineCount}\n \n \n
{okStatusText}
\n \n \n\n \n {offlineCount}\n \n {\" \"}\n
{notOkStatusText}
\n \n \n \n \n {icon}\n \n \n );\n};\n\nexport default StatusCountCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#FFBD62\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number,\n) => {\n if (activeDisks <= totalDrives / 2) {\n return \"bad\";\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return \"warn\";\n }\n if (activeDisks === totalDrives) {\n return \"good\";\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return \"bad\";\n case \"online\":\n return \"good\";\n default:\n return \"warn\";\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number,\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return \"bad\";\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return \"warn\";\n }\n if (activeNetwork === networkTotal) {\n return \"good\";\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 {\n IBarChartConfiguration,\n IBarChartRelation,\n IDataSRep,\n ILinearGraphConfiguration,\n IPieChartConfiguration,\n} from \"./Widgets/types\";\n\nexport enum widgetType {\n singleValue = \"singleValue\",\n linearGraph = \"linearGraph\",\n areaGraph = \"areaGraph\",\n barChart = \"barChart\",\n pieChart = \"pieChart\",\n singleRep = \"singleRep\",\n simpleWidget = \"simpleWidget\",\n}\n\nexport interface IDashboardPanel {\n id: number;\n mergedPanels?: IDashboardPanel[];\n title: string;\n data?: string | object[] | IDataSRep[];\n dataOuter?: string | object[];\n type?: widgetType;\n widgetIcon?: any;\n widgetConfiguration?:\n | ILinearGraphConfiguration[]\n | IBarChartConfiguration[]\n | IPieChartConfiguration;\n color?: string;\n fillColor?: string;\n innerLabel?: string;\n labelDisplayFunction?: (value: string) => any;\n disableYAxis?: boolean;\n xAxisFormatter?: (item: string) => string;\n yAxisFormatter?: (item: string) => string;\n customStructure?: IBarChartRelation[];\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 { IDashboardPanel, widgetType } from \"./types\";\nimport {\n getTimeFromTimestamp,\n niceBytes,\n niceDays,\n representationNumber,\n textToRGBColor,\n units,\n} from \"../../../../common/utils\";\nimport { DiagnosticsIcon, HealIcon, UptimeIcon } from \"mds\";\n\nconst colorsMain = [\n \"#C4D4E9\",\n \"#DCD1EE\",\n \"#D1EEE7\",\n \"#EEDED1\",\n \"#AAF38F\",\n \"#F9E6C5\",\n \"#C83B51\",\n \"#F4CECE\",\n \"#D6D6D6\",\n];\n\nconst niceDaysFromNS = (seconds: string) => {\n return niceDays(seconds, \"ns\");\n};\n\nconst roundNumber = (value: string) => {\n return parseInt(value).toString(10);\n};\n\nexport const panelsConfiguration: IDashboardPanel[] = [\n {\n id: 1,\n title: \"Uptime\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDays,\n },\n {\n id: 50,\n title: \"Capacity\",\n data: [],\n dataOuter: [{ name: \"outer\", value: 100 }],\n widgetConfiguration: {\n outerChart: {\n colorList: [\"#9c9c9c\"],\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n },\n innerChart: {\n colorList: colorsMain,\n innerRadius: 20,\n outerRadius: 50,\n startAngle: 90,\n endAngle: -200,\n },\n },\n type: widgetType.pieChart,\n innerLabel: \"N/A\",\n labelDisplayFunction: niceBytes,\n },\n {\n id: 51,\n title: \"Usable Capacity\",\n data: [],\n dataOuter: [{ name: \"outer\", value: 100 }],\n widgetConfiguration: {\n outerChart: {\n colorList: [\"#9c9c9c\"],\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n },\n innerChart: {\n colorList: colorsMain,\n innerRadius: 20,\n outerRadius: 50,\n startAngle: 90,\n endAngle: -200,\n },\n },\n type: widgetType.pieChart,\n innerLabel: \"N/A\",\n labelDisplayFunction: niceBytes,\n },\n {\n id: 68,\n title: \"Data Usage Growth\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.areaGraph,\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 52,\n title: \"Object size distribution\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"a\",\n color: \"#2781B0\",\n background: {\n fill: \"#EEF1F4\",\n },\n greatestColor: \"#081C42\",\n },\n ],\n customStructure: [\n { originTag: \"LESS_THAN_1024_B\", displayTag: \"Less than 1024B\" },\n {\n originTag: \"BETWEEN_1024_B_AND_1_MB\",\n displayTag: \"Between 1024B and 1MB\",\n },\n {\n originTag: \"BETWEEN_1_MB_AND_10_MB\",\n displayTag: \"Between 1MB and 10MB\",\n },\n {\n originTag: \"BETWEEN_10_MB_AND_64_MB\",\n displayTag: \"Between 10MB and 64MB\",\n },\n {\n originTag: \"BETWEEN_64_MB_AND_128_MB\",\n displayTag: \"Between 64MB and 128MB\",\n },\n {\n originTag: \"BETWEEN_128_MB_AND_512_MB\",\n displayTag: \"Between 128MB and 512MB\",\n },\n {\n originTag: \"GREATER_THAN_512_MB\",\n displayTag: \"Greater than 512MB\",\n },\n ],\n type: widgetType.barChart,\n },\n {\n id: 66,\n title: \"Buckets\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#0071BC\",\n fillColor: \"#ADD5E0\",\n },\n {\n id: 44,\n title: \"Objects\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#0071BC\",\n fillColor: \"#ADD5E0\",\n },\n {\n id: 63,\n title: \"API Data Received Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n strokeWidth: 3,\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 61,\n title: \"Total Open FDs\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#22B573\",\n fillColor: \"#A6E8C4\",\n },\n {\n id: 62,\n title: \"Total Goroutines\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#F7655E\",\n fillColor: \"#F4CECE\",\n },\n {\n id: 77,\n title: \"Node CPU Usage\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 60,\n title: \"API Request Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 70,\n title: \"API Data Sent Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 17,\n title: \"Internode Data Transfer\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 73,\n title: \"Node IO\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 80,\n title: \"Time Since Last Heal Activity\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDaysFromNS,\n },\n {\n id: 81,\n title: \"Time Since Last Scan Activity\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDaysFromNS,\n },\n {\n id: 71,\n title: \"API Request Error Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 76,\n title: \"Node Memory Usage\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 74,\n title: \"Drive Used Capacity\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 82,\n title: \"Drives Free Inodes\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n disableYAxis: true,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 11,\n title: \"Node Syscalls\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 8,\n title: \"Node File Descriptors\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 500,\n mergedPanels: [\n {\n id: 53,\n title: \"Online\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n {\n id: 69,\n title: \"Offline\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n ],\n title: \"Servers\",\n },\n {\n id: 501,\n mergedPanels: [\n {\n id: 9,\n title: \"Online\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n {\n id: 78,\n title: \"Offline\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n ],\n title: \"Drives\",\n },\n {\n id: 502,\n mergedPanels: [\n {\n id: 65,\n title: \"Upload\",\n data: \"N/A\",\n type: widgetType.singleValue,\n\n labelDisplayFunction: niceBytes,\n },\n {\n id: 64,\n title: \"Download\",\n data: \"N/A\",\n type: widgetType.singleValue,\n\n labelDisplayFunction: niceBytes,\n },\n ],\n title: \"Network\",\n },\n];\n\nconst calculateMainValue = (elements: any[], metricCalc: string) => {\n if (elements.length === 0) {\n return [\"\", \"0\"];\n }\n\n switch (metricCalc) {\n case \"mean\":\n const sumValues = elements.reduce((accumulator, currValue) => {\n return accumulator + parseFloat(currValue[1]);\n }, 0);\n\n const mean = Math.floor(sumValues / elements.length);\n\n return [\"\", mean.toString()];\n default:\n const sortResult = elements.sort(\n (value1: any[], value2: any[]) => value1[0] - value2[0],\n );\n\n return sortResult[sortResult.length - 1];\n }\n};\n\nconst constructLabelNames = (metrics: any, legendFormat: string) => {\n const keysToReplace = Object.keys(metrics);\n const expToReplace = new RegExp(`{{(${keysToReplace.join(\"|\")})}}`, \"g\");\n\n let replacedLegend = legendFormat.replace(expToReplace, (matchItem) => {\n const nwMatchItem = matchItem.replace(/({{|}})/g, \"\");\n return metrics[nwMatchItem];\n });\n\n const countVarsOpen = (replacedLegend.match(/{{/g) || []).length;\n const countVarsClose = (replacedLegend.match(/}}/g) || []).length;\n\n let cleanLegend = replacedLegend.replace(/{{(.*?)}}/g, \"\");\n\n if (\n countVarsOpen === countVarsClose &&\n countVarsOpen !== 0 &&\n countVarsClose !== 0\n ) {\n keysToReplace.forEach((element) => {\n replacedLegend = replacedLegend.replace(element, metrics[element]);\n });\n\n cleanLegend = replacedLegend;\n }\n\n // In case not all the legends were replaced, we remove the placeholders.\n return cleanLegend;\n};\n\nexport const widgetDetailsToPanel = (\n payloadData: any,\n panelItem: IDashboardPanel,\n) => {\n if (!payloadData) {\n return panelItem;\n }\n\n const typeOfPayload = payloadData.type;\n\n switch (panelItem.type) {\n case widgetType.singleValue:\n case widgetType.simpleWidget:\n if (typeOfPayload === \"stat\" || typeOfPayload === \"singlestat\") {\n // We sort values & get the last value\n let elements = get(payloadData, \"targets[0].result[0].values\", []);\n\n if (elements === null) {\n elements = [];\n }\n\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\",\n );\n\n const valueDisplay = calculateMainValue(elements, metricCalc);\n\n const data = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(valueDisplay[1])\n : valueDisplay[1];\n\n return {\n ...panelItem,\n data,\n };\n }\n break;\n case widgetType.pieChart:\n if (typeOfPayload === \"gauge\") {\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\",\n );\n\n let chartSeries = get(payloadData, \"targets\", []).filter(\n (seriesItem: any) => seriesItem !== null,\n );\n\n const values = chartSeries.map((chartTarget: any) => {\n const resultMap =\n chartTarget.result && Array.isArray(chartTarget.result)\n ? chartTarget.result\n : [];\n\n const values = resultMap.map((elementValue: any) => {\n const values = get(elementValue, \"values\", []);\n const metricKeyItem = Object.keys(elementValue.metric);\n const sortResult = values.sort(\n (value1: any[], value2: any[]) =>\n parseInt(value1[0][1]) - parseInt(value2[0][1]),\n );\n\n const metricName = elementValue.metric[metricKeyItem[0]];\n const value = sortResult[sortResult.length - 1];\n return {\n name: metricName,\n value: parseInt(value[1]),\n legend: chartTarget.legendFormat,\n };\n });\n\n return values;\n });\n\n const firstTarget =\n chartSeries[0].result && chartSeries[0].result.length > 0\n ? chartSeries[0].result[0].values\n : [];\n\n const totalValues = calculateMainValue(firstTarget, metricCalc);\n\n const innerLabel = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(totalValues[1])\n : totalValues[1];\n\n return {\n ...panelItem,\n data: values,\n innerLabel,\n };\n }\n break;\n case widgetType.linearGraph:\n case widgetType.areaGraph:\n if (typeOfPayload === \"graph\") {\n let targets = get(payloadData, \"targets\", []);\n if (targets === null) {\n targets = [];\n }\n\n const series: any[] = [];\n const plotValues: any[] = [];\n\n targets.forEach(\n (\n targetMaster: { legendFormat: string; result: any[] },\n index: number,\n ) => {\n // Add a new serie to plot variables in case it is not from multiple values\n let results = get(targetMaster, \"result\", []);\n const legendFormat = targetMaster.legendFormat;\n if (results === null) {\n results = [];\n }\n\n results.forEach((itemVals: { metric: object; values: any[] }) => {\n // Label Creation\n const labelName = constructLabelNames(\n itemVals.metric,\n legendFormat,\n );\n const keyName = `key_${index}${labelName}`;\n\n // series creation with recently created label\n series.push({\n dataKey: keyName,\n keyLabel: labelName,\n lineColor: \"\",\n fillColor: \"\",\n });\n\n // we iterate over values and create elements\n let values = get(itemVals, \"values\", []);\n if (values === null) {\n values = [];\n }\n\n values.forEach((valInfo: any[]) => {\n const itemIndex = plotValues.findIndex(\n (element) => element.name === valInfo[0],\n );\n\n // Element not exists yet\n if (itemIndex === -1) {\n let itemToPush: any = { name: valInfo[0] };\n itemToPush[keyName] = valInfo[1];\n\n plotValues.push(itemToPush);\n } else {\n plotValues[itemIndex][keyName] = valInfo[1];\n }\n });\n });\n },\n );\n\n const sortedSeries = series.sort((series1: any, series2: any) => {\n if (series1.keyLabel < series2.keyLabel) {\n return -1;\n }\n if (series1.keyLabel > series2.keyLabel) {\n return 1;\n }\n return 0;\n });\n\n const seriesWithColors = sortedSeries.map(\n (serialC: any, index: number) => {\n return {\n ...serialC,\n lineColor: colorsMain[index] || textToRGBColor(serialC.keyLabel),\n fillColor: colorsMain[index] || textToRGBColor(serialC.keyLabel),\n };\n },\n );\n\n const sortedVals = plotValues.sort(\n (value1: any, value2: any) => value1.name - value2.name,\n );\n\n return {\n ...panelItem,\n widgetConfiguration: seriesWithColors,\n data: sortedVals,\n };\n }\n break;\n case widgetType.barChart:\n if (typeOfPayload === \"bargauge\") {\n let chartBars = get(payloadData, \"targets[0].result\", []);\n\n if (chartBars === null) {\n chartBars = [];\n }\n\n const sortFunction = (value1: any[], value2: any[]) =>\n value1[0] - value2[0];\n\n let values = [];\n if (panelItem.customStructure) {\n values = panelItem.customStructure.map((structureItem) => {\n const metricTake = chartBars.find((element: any) => {\n return element.metric.range === structureItem.originTag;\n });\n\n const elements = get(metricTake, \"values\", []);\n\n const sortResult = elements.sort(sortFunction);\n const lastValue = sortResult[sortResult.length - 1] || [\"\", \"0\"];\n\n return {\n name: structureItem.displayTag,\n a: parseInt(lastValue[1]),\n };\n });\n } else {\n // If no configuration is set, we construct the series for bar chart and return the element\n values = chartBars.map((elementValue: any) => {\n const metricKeyItem = Object.keys(elementValue.metric);\n\n const metricName = elementValue.metric[metricKeyItem[0]];\n\n const elements = get(elementValue, \"values\", []);\n\n const sortResult = elements.sort(sortFunction);\n const lastValue = sortResult[sortResult.length - 1] || [\"\", \"0\"];\n return { name: metricName, a: parseInt(lastValue[1]) };\n });\n }\n\n return {\n ...panelItem,\n data: values,\n };\n }\n break;\n case widgetType.singleRep:\n if (typeOfPayload === \"stat\") {\n // We sort values & get the last value\n let elements = get(payloadData, \"targets[0].result[0].values\", []);\n if (elements === null) {\n elements = [];\n }\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\",\n );\n\n const valueDisplay = calculateMainValue(elements, metricCalc);\n\n const sortResult = elements.sort(\n (value1: any[], value2: any[]) => value1[0] - value2[0],\n );\n\n let valuesForBackground = [];\n\n if (sortResult.length === 1) {\n valuesForBackground.push({ value: 0 });\n }\n\n sortResult.forEach((eachVal: any) => {\n valuesForBackground.push({ value: parseInt(eachVal[1]) });\n });\n\n const innerLabel = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(valueDisplay[1])\n : valueDisplay[1];\n\n return {\n ...panelItem,\n data: valuesForBackground,\n innerLabel,\n };\n }\n break;\n }\n\n return panelItem;\n};\n\nconst verifyNumeric = (item: string) => {\n return !isNaN(parseFloat(item));\n};\n\nexport const splitSizeMetric = (val: string) => {\n const splittedText = val.split(\" \");\n // Value is not a size metric, we return as common string\n\n const singleValue = () => {\n let vl = val;\n\n if (verifyNumeric(val)) {\n vl = representationNumber(parseFloat(val));\n }\n return {vl};\n };\n\n if (splittedText.length !== 2) {\n return singleValue();\n }\n\n if (!units.includes(splittedText[1])) {\n return singleValue();\n }\n\n return (\n \n {splittedText[0]}\n {splittedText[1]}\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, ExpandIcon } from \"mds\";\n\nimport { IDashboardPanel } from \"../types\";\n\nimport { openZoomPage } from \"../../dashboardSlice\";\nimport { useAppDispatch } from \"../../../../../store\";\n\nconst ExpandGraphLink = ({ panelItem }: { panelItem: IDashboardPanel }) => {\n const dispatch = useAppDispatch();\n return (\n \n \n \n );\n};\n\nexport default ExpandGraphLink;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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, DownloadIcon, DropdownSelector } from \"mds\";\nimport { exportComponentAsPNG } from \"react-component-export-image\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../../src/store\";\nimport { setErrorSnackMessage } from \"../../../../src/systemSlice\";\n\ninterface IDownloadWidgetDataButton {\n title: any;\n componentRef: any;\n data: any;\n}\n\nconst DownloadWidgetDataButton = ({\n title,\n componentRef,\n data,\n}: IDownloadWidgetDataButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openDownloadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseDownload = () => {\n setAnchorEl(null);\n };\n const download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n };\n\n const dispatch = useAppDispatch();\n const onDownloadError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n const convertToCSV = (objectToConvert: any) => {\n const array = [Object.keys(objectToConvert[0])].concat(objectToConvert);\n return array\n .map((it) => {\n return Object.values(it).toString();\n })\n .join(\"\\n\");\n };\n\n const widgetDataCSVFileName = () => {\n if (title !== null) {\n return (title + \"_\" + Date.now().toString() + \".csv\")\n .replace(/\\s+/g, \"\")\n .trim()\n .toLowerCase();\n } else {\n return \"widgetData_\" + Date.now().toString() + \".csv\";\n }\n };\n\n const downloadAsCSV = () => {\n if (data !== null && data.length > 0) {\n download(widgetDataCSVFileName(), convertToCSV(data));\n } else {\n let err: ErrorResponseHandler;\n err = {\n errorMessage: \"Unable to download widget data\",\n detailedError: \"Unable to download widget data - data not available\",\n };\n onDownloadError(err);\n }\n };\n\n const downloadAsPNG = () => {\n if (title !== null) {\n const pngFileName = (title + \"_\" + Date.now().toString() + \".png\")\n .replace(/\\s+/g, \"\")\n .trim()\n .toLowerCase();\n exportComponentAsPNG(componentRef, { fileName: pngFileName });\n } else {\n const pngFileName = \"widgetData_\" + Date.now().toString() + \".png\";\n exportComponentAsPNG(componentRef, { fileName: pngFileName });\n }\n };\n\n const handleSelectedOption = (selectOption: string) => {\n if (selectOption === \"csv\") {\n downloadAsCSV();\n } else if (selectOption === \"png\") {\n downloadAsPNG();\n }\n };\n\n return (\n \n \n \n handleSelectedOption(value)}\n hideTriggerAction={() => {\n handleCloseDownload();\n }}\n open={openDownloadMenu}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n />\n \n \n );\n};\n\nexport default DownloadWidgetDataButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst BarChartTooltip = ({\n active,\n payload,\n label,\n barChartConfiguration,\n}: any) => {\n if (active) {\n return (\n \n {label}\n {payload &&\n payload.map((pl: any, index: number) => {\n return (\n \n \n \n {pl.value}\n \n \n );\n })}\n \n );\n }\n\n return null;\n};\n\nexport default BarChartTooltip;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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, useRef, useState } from \"react\";\nimport styled from \"styled-components\";\nimport { Box, breakPoints, Grid, Loader } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport {\n Bar,\n BarChart,\n Cell,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { IBarChartConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport ExpandGraphLink from \"./ExpandGraphLink\";\nimport DownloadWidgetDataButton from \"../../DownloadWidgetDataButton\";\nimport BarChartTooltip from \"./tooltips/BarChartTooltip\";\nimport api from \"../../../../../common/api\";\n\ninterface IBarChartWidget {\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n apiPrefix: string;\n zoomActivated?: boolean;\n}\n\nconst BarChartMain = styled.div(({ theme }) => ({\n ...widgetCommon(theme),\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"15px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n}));\n\nconst CustomizedAxisTick = ({ y, payload }: any) => {\n return (\n \n {payload.value}\n \n );\n};\n\nconst BarChartWidget = ({\n title,\n panelItem,\n timeStart,\n timeEnd,\n apiPrefix,\n zoomActivated = false,\n}: IBarChartWidget) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState([]);\n const [result, setResult] = useState(null);\n const [hover, setHover] = useState(false);\n const [biggerThanMd, setBiggerThanMd] = useState(\n window.innerWidth >= breakPoints.md,\n );\n\n const componentRef = useRef();\n const widgetVersion = useSelector(\n (state: AppState) => state.dashboard.widgetLoadVersion,\n );\n\n const onHover = () => {\n setHover(true);\n };\n const onStopHover = () => {\n setHover(false);\n };\n\n useEffect(() => {\n setLoading(true);\n }, [widgetVersion]);\n\n useEffect(() => {\n const handleWindowResize = () => {\n let extMD = false;\n if (window.innerWidth >= breakPoints.md) {\n extMD = true;\n }\n setBiggerThanMd(extMD);\n };\n\n window.addEventListener(\"resize\", handleWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleWindowResize);\n };\n }, []);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod =\n timeEnd.toUnixInteger() - timeStart.toUnixInteger();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.toUnixInteger()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.toUnixInteger()}` : \"\"\n }`,\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setResult(widgetsWithValue);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, dispatch, apiPrefix]);\n\n const barChartConfiguration = result\n ? (result.widgetConfiguration as IBarChartConfiguration[])\n : [];\n\n let greatestIndex = 0;\n let currentValue = 0;\n\n if (barChartConfiguration.length === 1) {\n const dataGraph = barChartConfiguration[0];\n data.forEach((item: any, index: number) => {\n if (item[dataGraph.dataKey] > currentValue) {\n currentValue = item[dataGraph.dataKey];\n greatestIndex = index;\n }\n });\n }\n\n return (\n \n \n {!zoomActivated && (\n \n \n
\n )}\n \n \n );\n};\n\nexport default BarChartWidget;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { getTimeFromTimestamp } from \"../../../../../../common/utils\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst LineChartTooltip = ({\n active,\n payload,\n label,\n linearConfiguration,\n yAxisFormatter,\n}: any) => {\n if (active) {\n return (\n \n \n {getTimeFromTimestamp(label, true)}\n \n {payload &&\n payload.map((pl: any, index: number) => {\n return (\n \n \n \n \n {linearConfiguration[index].keyLabel}:{\" \"}\n {yAxisFormatter(pl.value)}\n \n \n \n );\n })}\n \n );\n }\n\n return null;\n};\n\nexport default LineChartTooltip;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You 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, useRef, useState } from \"react\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n Area,\n AreaChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { Box, breakPoints, Grid, Loader } from \"mds\";\nimport { ILinearGraphConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport api from \"../../../../../common/api\";\nimport LineChartTooltip from \"./tooltips/LineChartTooltip\";\nimport ExpandGraphLink from \"./ExpandGraphLink\";\nimport DownloadWidgetDataButton from \"../../DownloadWidgetDataButton\";\n\ninterface ILinearGraphWidget {\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n apiPrefix: string;\n hideYAxis?: boolean;\n yAxisFormatter?: (item: string) => string;\n xAxisFormatter?: (item: string, var1: boolean, var2: boolean) => string;\n areaWidget?: boolean;\n zoomActivated?: boolean;\n}\n\nconst LinearGraphMain = styled.div(({ theme }) => ({\n ...widgetCommon(theme),\n \"& .chartCont\": {\n position: \"relative\",\n height: 140,\n width: \"100%\",\n },\n \"& .legendChart\": {\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"0 1 auto\",\n maxHeight: 130,\n margin: 0,\n overflowY: \"auto\",\n position: \"relative\",\n textAlign: \"center\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n color: get(theme, \"mutedText\", \"#87888d\"),\n fontWeight: \"bold\",\n fontSize: 12,\n [`@media (max-width: ${breakPoints.md}px)`]: {\n display: \"none\",\n },\n },\n \"& .loadingAlign\": {\n width: 40,\n height: 40,\n textAlign: \"center\",\n margin: \"15px auto\",\n },\n}));\n\nconst LinearGraphWidget = ({\n title,\n timeStart,\n timeEnd,\n panelItem,\n apiPrefix,\n hideYAxis = false,\n areaWidget = false,\n yAxisFormatter = (item: string) => item,\n xAxisFormatter = (item: string, var1: boolean, var2: boolean) => item,\n zoomActivated = false,\n}: ILinearGraphWidget) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [hover, setHover] = useState(false);\n const [data, setData] = useState