UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

62 lines (61 loc) 1.75 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCollectStepsData = useCollectStepsData; var _react = require("react"); var _componentHelper = require("../../../../shared/component-helper"); var _WizardContext = _interopRequireDefault(require("../Context/WizardContext")); var _hooks = require("../../hooks"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function useCollectStepsData() { const { activeIndexRef, hasErrorInOtherStepRef, stepsRef, hasInvalidStepsState } = (0, _react.useContext)(_WizardContext.default) || {}; const translations = (0, _hooks.useTranslation)(); const collectStepsData = (0, _react.useCallback)(_ref => { let { id, index, inactive, title, keepInDOM } = _ref; if (!hasInvalidStepsState) { return; } let status = undefined; let statusState = undefined; if (index !== activeIndexRef.current && !inactive) { if (hasInvalidStepsState(index, ['error'])) { status = translations.Step.stepHasError; statusState = 'error'; } } if (status) { hasErrorInOtherStepRef.current = true; } const stringifiedTitle = title !== undefined ? (0, _componentHelper.convertJsxToString)(title) : 'Title missing'; stepsRef.current.set(index, { index, id, title, stringifiedTitle, inactive, status, statusState, keepInDOM }); return { title }; }, [activeIndexRef, hasErrorInOtherStepRef, hasInvalidStepsState, stepsRef, translations.Step.stepHasError]); return { collectStepsData }; } //# sourceMappingURL=useCollectStepsData.js.map