UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

54 lines (53 loc) 1.63 kB
"use client"; import _extends from "@babel/runtime/helpers/esm/extends"; import React, { useContext } from 'react'; import classnames from 'classnames'; import Space from '../space/Space'; import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/SkeletonHelper'; import HeightAnimation from '../height-animation/HeightAnimation'; import StepIndicatorItem from './StepIndicatorItem'; import StepIndicatorContext from './StepIndicatorContext'; 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