/*
* Copyright 2020 Actyx AG
*
* 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 * as classNames from 'classnames';
import * as React from 'react';
import { compose, setDisplayName } from 'recompose';
import { Typography } from '../Typography';
import { getColorFromVariant, getWidthFromLevel, getColorFromLevel } from './utility';
export type BatteryIconVariant = 'light' | 'dark';
type Props = Readonly<{
className?: string;
level: number;
charging?: boolean;
variant?: 'light' | 'dark';
counter?: boolean;
}>;
const BatteryIconComp = ({ className, level, variant = 'light', counter, charging }: Props) => {
const levelRounded = Math.round(level);
return (
{counter && (
{levelRounded} %
)}
);
};
/**
* BatteryIcon gives visual information about the battery state of charge.
* It is particularly handy when creating a full-screen application running in kiosk mode.
*/
export const BatteryIcon = compose(setDisplayName('BatteryIcon'))(BatteryIconComp);