@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
83 lines (82 loc) • 3.82 kB
JavaScript
"use client";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _StepIndicatorTrigger, _StepIndicatorList;
const _excluded = ["sidebar_id", "step_title_extended"],
_excluded2 = ["status", "status_state", "data", "skeleton", "current_step", "hide_numbers", "no_animation", "expandedInitially"],
_excluded3 = ["outset"];
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
import React, { useContext } from 'react';
import classnames from 'classnames';
import { createSpacingClasses } from '../space/SpacingHelper';
import Card from '../Card';
import StepIndicatorTriggerButton from './StepIndicatorTriggerButton';
import StepIndicatorSidebar from './StepIndicatorSidebar';
import StepIndicatorList from './StepIndicatorList';
import StepIndicatorContext, { StepIndicatorProvider } from './StepIndicatorContext';
import { stepIndicatorDefaultProps } from './StepIndicatorProps';
import FormStatus from '../form-status/FormStatus';
function handleDeprecatedProps(props) {
const {
sidebar_id,
step_title_extended
} = props,
rest = _objectWithoutProperties(props, _excluded);
return rest;
}
function StepIndicator(_ref) {
let {
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
} = _ref,
restOfProps = _objectWithoutProperties(_ref, _excluded2);
const _handleDeprecatedProp = handleDeprecatedProps(_objectSpread({
data,
skeleton,
current_step,
hide_numbers,
no_animation,
expandedInitially
}, restOfProps)),
{
outset
} = _handleDeprecatedProp,
props = _objectWithoutProperties(_handleDeprecatedProp, _excluded3);
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)),
outset: outset
}, _StepIndicatorTrigger || (_StepIndicatorTrigger = React.createElement(StepIndicatorTriggerButton, null)), _StepIndicatorList || (_StepIndicatorList = React.createElement(StepIndicatorList, null))), React.createElement(StepIndicatorStatus, {
status: status,
status_state: status_state
})));
}
function StepIndicatorStatus(_ref2) {
let {
status,
status_state
} = _ref2;
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