UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

83 lines (82 loc) 3.82 kB
"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