UNPKG

@kinvolk/headlamp-plugin

Version:

The needed infrastructure for building Headlamp plugins.

42 lines (41 loc) 1.82 kB
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime"; /* * Copyright 2025 The Kubernetes Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Icon } from '@iconify/react'; import Button from '@mui/material/Button'; import { alpha, styled } from '@mui/system'; import React from 'react'; import { Trans, useTranslation } from 'react-i18next'; const SpanClusterName = styled('span')({ textOverflow: 'ellipsis', whiteSpace: 'nowrap', overflow: 'hidden', display: 'block', }); const ClusterChooser = React.forwardRef(function ClusterChooser({ clickHandler, cluster }, ref) { const { t } = useTranslation(); return (_jsx(Button, { size: "large", color: "secondary", onClick: clickHandler, startIcon: _jsx(Icon, { icon: "mdi:hexagon-multiple-outline" }), sx: theme => ({ background: theme.palette.navbar.background, color: theme.palette.navbar.color, ':hover': { background: alpha(theme.palette.navbar.color, 0.07), }, maxWidth: '20em', textTransform: 'none', padding: '6px 22px', }), ref: ref, children: _jsx(SpanClusterName, { title: cluster, children: _jsxs(Trans, { t: t, children: ["Cluster: ", { cluster }] }) }) })); }); export default ClusterChooser;