UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

79 lines (78 loc) 2.42 kB
"use client"; var _StepIndicatorList; import React, { useContext } from 'react'; import { applySpacing } from "../space/SpacingUtils.js"; import Card from "../Card.js"; import CardContext from "../card/CardContext.js"; import StepIndicatorTriggerButton from "./StepIndicatorTriggerButton.js"; import StepIndicatorList from "./StepIndicatorList.js"; import StepIndicatorContext, { StepIndicatorProvider } from "./StepIndicatorContext.js"; import { stepIndicatorDefaultProps } from "./StepIndicatorProps.js"; import FormStatus from "../form-status/FormStatus.js"; import withComponentMarkers from "../../shared/helpers/withComponentMarkers.js"; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; function StepIndicator({ status, statusState = 'warning', data = stepIndicatorDefaultProps.data, skeleton = stepIndicatorDefaultProps.skeleton, currentStep = stepIndicatorDefaultProps.currentStep, hideNumbers = stepIndicatorDefaultProps.hideNumbers, noAnimation = stepIndicatorDefaultProps.noAnimation, expandedInitially = stepIndicatorDefaultProps.expandedInitially, ...restOfProps }) { const { outset, ...props } = { data, skeleton, currentStep, hideNumbers, noAnimation, expandedInitially, ...restOfProps }; return _jsx(StepIndicatorProvider, { ...props, children: _jsxs("div", { className: "dnb-step-indicator-wrapper", children: [_jsxs(Card, { align: "stretch", ...applySpacing(restOfProps, { className: 'dnb-step-indicator' }), backgroundColor: "var(--step-indicator-trigger-content-background)", outset: outset, children: [_jsx(StepIndicatorTriggerButton, { isNested: useContext(CardContext)?.isNested }), _StepIndicatorList || (_StepIndicatorList = _jsx(StepIndicatorList, {}))] }), _jsx(StepIndicatorStatus, { status: status, statusState: statusState })] }) }); } function StepIndicatorStatus({ status, statusState }) { const { open, noAnimation } = useContext(StepIndicatorContext); const show = !open && !!status; return _jsx(FormStatus, { show: show, noAnimation: noAnimation, state: status && statusState, children: status }); } withComponentMarkers(StepIndicator, { _supportsSpacingProps: true }); export default StepIndicator; //# sourceMappingURL=StepIndicator.js.map