import PropTypes from 'prop-types'; import { clsm } from '../../../../../../utils'; import { dashboard as $dashboardContent } from '../../../../../../content'; import { ZOOM_LEVELS } from '../../../../../../contexts/SynchronizedCharts'; const $content = $dashboardContent.stream_session_page.charts; const BUTTON_BASE_CLASSES = [ 'bg-transparent', 'border-none', 'cursor-pointer', 'dark:disabled:text-darkMode-gray', 'dark:focus:bg-darkMode-gray-dark', 'dark:hover:enabled:bg-darkMode-gray-dark-hover', 'dark:shadow-white', 'dark:text-darkMode-gray-light', 'disabled:cursor-auto', 'disabled:text-lightMode-gray', 'flex', 'focus:bg-lightMode-gray-extraLight', 'focus:outline-none', 'focus:shadow-focus', 'hover:enabled:bg-lightMode-gray-light-hover', 'items-center', 'justify-center', 'leading-[15.73px]', 'px-2.5', 'py-1', 'rounded-3xl', 'shadow-black', 'text-lightMode-gray-medium', 'text-p2' ]; const BUTTON_SELECTED_CLASSES = ['font-bold', 'text-black', 'dark:text-white']; const ZoomButtons = ({ handleSelectZoom, isEnabled, selectedZoomLevel }) => { const isSelected = (zoomLevel) => isEnabled && selectedZoomLevel === zoomLevel; const defaultButtonProps = { disabled: !isEnabled, onClick: handleSelectZoom, type: 'button' }; return ( ); }; ZoomButtons.propTypes = { handleSelectZoom: PropTypes.func.isRequired, isEnabled: PropTypes.bool, selectedZoomLevel: PropTypes.oneOf(Object.values(ZOOM_LEVELS)).isRequired }; ZoomButtons.defaultProps = { isEnabled: false }; export default ZoomButtons;