@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
JavaScript
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