UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

78 lines (77 loc) 2.56 kB
"use client"; var _StepIndicatorList; import React, { useContext } from 'react'; import classnames from 'classnames'; import { createSpacingClasses } from "../space/SpacingHelper.js"; import Card from "../Card.js"; import CardContext from "../card/CardContext.js"; import StepIndicatorTriggerButton from "./StepIndicatorTriggerButton.js"; import StepIndicatorSidebar from "./StepIndicatorSidebar.js"; import StepIndicatorList from "./StepIndicatorList.js"; import StepIndicatorContext, { StepIndicatorProvider } from "./StepIndicatorContext.js"; import { stepIndicatorDefaultProps } from "./StepIndicatorProps.js"; import FormStatus from "../form-status/FormStatus.js"; function handleDeprecatedProps(props) { const { sidebar_id, step_title_extended, ...rest } = props; return rest; } function StepIndicator({ status, status_state = 'warn', data = stepIndicatorDefaultProps.data, skeleton = stepIndicatorDefaultProps.skeleton, current_step = stepIndicatorDefaultProps.current_step, hide_numbers = stepIndicatorDefaultProps.hide_numbers, no_animation = stepIndicatorDefaultProps.no_animation, expandedInitially = stepIndicatorDefaultProps.expandedInitially, ...restOfProps }) { const { outset, ...props } = handleDeprecatedProps({ data, skeleton, current_step, hide_numbers, no_animation, expandedInitially, ...restOfProps }); return React.createElement(StepIndicatorProvider, props, React.createElement("div", { className: "dnb-step-indicator-wrapper" }, React.createElement(Card, { align: "stretch", className: classnames('dnb-step-indicator', createSpacingClasses(restOfProps)), backgroundColor: "var(--step-indicator-trigger-content-background)", outset: outset }, React.createElement(StepIndicatorTriggerButton, { isNested: useContext(CardContext)?.isNested }), _StepIndicatorList || (_StepIndicatorList = React.createElement(StepIndicatorList, null))), React.createElement(StepIndicatorStatus, { status: status, status_state: status_state }))); } function StepIndicatorStatus({ status, status_state }) { const { openState, no_animation } = useContext(StepIndicatorContext); const show = !openState && !!status; return React.createElement(FormStatus, { show: show, no_animation: no_animation, state: status && status_state }, status); } StepIndicator.Sidebar = StepIndicatorSidebar; StepIndicator._supportsSpacingProps = true; export default StepIndicator; //# sourceMappingURL=StepIndicator.js.map