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

26 lines 1.31 kB
import { jsx as _jsx } from "react/jsx-runtime"; import React from 'react'; import { POSITIONS } from '../../types/positions/positions'; import { ToggleControlled } from './toggleControlled'; const ToggleUnControlledComponent = ({ variant, hasThreePositions = false, defaultTogglePosition = hasThreePositions ? POSITIONS.CENTER : POSITIONS.LEFT, togglePosition, onChange, ...props }, ref) => { const [_togglePosition, setTogglePosition] = React.useState(defaultTogglePosition); const handleChange = (newPosition) => { setTogglePosition(newPosition); onChange?.(newPosition); }; return (_jsx(ToggleControlled, { ...props, ref: ref, hasThreePositions: hasThreePositions, togglePosition: togglePosition ?? _togglePosition, variant: variant, onChange: handleChange })); }; const ToggleUnControlled = React.forwardRef(ToggleUnControlledComponent); /** * @description * Toggle component is a component that can be used to switch between two states. * It can be used to create a switch or a checkbox. * @param {React.PropsWithChildren<IToggleUnControlled<V>>} props * @returns {JSX.Element} * @constructor * @example * <ToggleUnControlled variant="yes_no" /> */ export { ToggleUnControlled }; export { ToggleUnControlled as Toggle }; //# sourceMappingURL=toggleUnControlled.js.map