UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

54 lines (53 loc) 1.65 kB
"use client"; import _extends from "@babel/runtime-corejs3/helpers/esm/extends"; import React, { useContext } from 'react'; import classnames from 'classnames'; import Space from "../space/Space.js"; import { skeletonDOMAttributes, createSkeletonClass } from "../skeleton/SkeletonHelper.js"; import HeightAnimation from "../height-animation/HeightAnimation.js"; import StepIndicatorItem from "./StepIndicatorItem.js"; import StepIndicatorContext from "./StepIndicatorContext.js"; function StepIndicatorList() { const { mode, skeleton, openState, openHandler, closeHandler, countSteps, data, no_animation } = useContext(StepIndicatorContext); const Element = mode === 'static' ? 'div' : 'nav'; const params = {}; skeletonDOMAttributes(params, skeleton); return React.createElement(HeightAnimation, { animate: !no_animation, open: openState, onOpen: state => { if (state) { openHandler(); } else { closeHandler(); } } }, React.createElement(Space, { innerSpace: { top: 'small' } }, React.createElement(Element, _extends({}, params, { className: classnames('dnb-step-indicator', createSkeletonClass('font', skeleton)) }), countSteps > 0 && React.createElement("ol", { className: "dnb-step-indicator__list" }, data.map((itemData, i) => { const item = typeof itemData === 'string' ? { title: itemData } : itemData; return React.createElement(StepIndicatorItem, _extends({ key: i, currentItemNum: i }, item)); }))))); } export default StepIndicatorList; //# sourceMappingURL=StepIndicatorList.js.map