UNPKG

@ozen-ui/kit

Version:

React component library

30 lines (29 loc) 2.02 kB
import { __assign, __rest } from "tslib"; import React from 'react'; import { ChevronUpIcon } from '@ozen-ui/icons'; import { useThemeProps } from '../../../../hooks/useThemeProps'; import { cn, polymorphicComponentWithRef, renderContent, } from '../../../../utils'; import { useStepperVerticalStepContext } from '../StepperVerticalStep'; import { StepperVerticalStepButton } from '../StepperVerticalStepButton'; import { STEPPER_VERTICAL_STEP_SUBSTEP_BUTTON_DEFAULT_COLOR, STEPPER_VERTICAL_STEP_SUBSTEP_BUTTON_DEFAULT_TAG, } from './constants'; export var cnStepperVerticalStepSubstepButton = cn('StepperVerticalStepSubstepButton'); export var StepperVerticalStepSubstepButton = polymorphicComponentWithRef(function (inProps, ref) { var props = useThemeProps({ name: 'StepperVerticalStepSubstepButton', props: inProps, }); var _a = props.color, color = _a === void 0 ? STEPPER_VERTICAL_STEP_SUBSTEP_BUTTON_DEFAULT_COLOR : _a, className = props.className, _b = props.as, as = _b === void 0 ? STEPPER_VERTICAL_STEP_SUBSTEP_BUTTON_DEFAULT_TAG : _b, onClick = props.onClick, text = props.text, other = __rest(props, ["color", "className", "as", "onClick", "text"]); var _c = useStepperVerticalStepContext(), hasSubsteps = _c.hasSubsteps, step = _c.step; if (!hasSubsteps) { return null; } return (React.createElement(StepperVerticalStepButton, __assign({}, other, { as: as, ref: ref, color: color, iconRight: React.createElement(ChevronUpIcon, { className: cnStepperVerticalStepSubstepButton('Icon') }), className: cnStepperVerticalStepSubstepButton({ open: step.isSubStepsOpen, closed: !step.isSubStepsOpen }, [className]), onClick: function (event) { step.toggleSubsteps(); onClick === null || onClick === void 0 ? void 0 : onClick(event); } }), renderContent({ content: text, props: { isOpen: step.isSubStepsOpen }, }))); }); StepperVerticalStepSubstepButton.displayName = 'StepperVerticalStepSubstepButton';