UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

35 lines 1.85 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React from 'react'; import { STYLES_NAME } from '../../constants/stylesName/stylesName'; import { useStyles } from '../../hooks/useStyles/useStyles'; import { ErrorBoundary } from '../../provider/errorBoundary/errorBoundary'; import { FallbackComponent } from '../../provider/errorBoundary/fallbackComponent'; import { BadgeStandAlone } from './badgeStandAlone'; import { BadgeState } from './types/state'; const BadgeComponent = React.forwardRef(({ hasDot = true, ctv, cts, ...props }, ref) => { const [active, setActive] = React.useState(false); const styles = useStyles(STYLES_NAME.BADGE_V2, props.variant, ctv); const stateStyles = styles[active ? BadgeState.ACTIVE : BadgeState.DEFAULT]; const sizeStyles = useStyles(STYLES_NAME.BADGE_V2, props.size, cts); const handleIconClick = (e) => { props.onClick?.(e); setActive(!active); }; const handleOnBadgeBlur = event => { if (!event.currentTarget.contains(event.relatedTarget)) { setActive(false); } }; return (_jsx(BadgeStandAlone, { ...props, ref: ref, active: active, hasDot: hasDot, sizeStyles: sizeStyles, styles: stateStyles, onBadgeBlur: handleOnBadgeBlur, onClick: handleIconClick })); }); BadgeComponent.displayName = 'BadgeComponent'; const BagdeBoundary = (props, ref) => (_jsx(ErrorBoundary, { fallBackComponent: _jsx(FallbackComponent, { children: _jsx(BadgeStandAlone, { ...props, ref: ref }) }), children: _jsx(BadgeComponent, { ...props, ref: ref }) })); /** * @description * Badge component is a component that shows a badge with a number or a dot. * @param {React.PropsWithChildren<IBadge<V>>} props * @returns {JSX.Element} */ const Badge = React.forwardRef(BagdeBoundary); export { Badge as BadgeV2 }; //# sourceMappingURL=badge.js.map