@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
54 lines (53 loc) • 1.65 kB
JavaScript
"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