@dnb/eufemia 10.69.0 → 10.69.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/cjs/components/global-error/GlobalError.d.ts +1 -1
- package/cjs/components/global-error/GlobalError.js +1 -1
- package/cjs/components/global-error/GlobalError.js.map +1 -1
- package/cjs/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/cjs/components/global-error/GlobalErrorDocs.js +64 -0
- package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/cjs/components/info-card/InfoCardDocs.d.ts +3 -0
- package/cjs/components/info-card/InfoCardDocs.js +101 -0
- package/cjs/components/info-card/InfoCardDocs.js.map +1 -0
- package/cjs/components/tabs/Tabs.js +2 -2
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +2 -3
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +35 -41
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/cjs/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
- package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -35
- package/cjs/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +104 -57
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js +66 -0
- package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/cjs/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +65 -22
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +16 -8
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.js +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/components/global-error/GlobalError.d.ts +1 -1
- package/components/global-error/GlobalError.js +1 -1
- package/components/global-error/GlobalError.js.map +1 -1
- package/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/components/global-error/GlobalErrorDocs.js +58 -0
- package/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/components/info-card/InfoCardDocs.d.ts +3 -0
- package/components/info-card/InfoCardDocs.js +95 -0
- package/components/info-card/InfoCardDocs.js.map +1 -0
- package/components/tabs/Tabs.js +2 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/upload/UploadFileList.js +2 -3
- package/components/upload/UploadFileList.js.map +1 -1
- package/es/components/global-error/GlobalError.d.ts +1 -1
- package/es/components/global-error/GlobalError.js +1 -1
- package/es/components/global-error/GlobalError.js.map +1 -1
- package/es/components/global-error/GlobalErrorDocs.d.ts +2 -0
- package/es/components/global-error/GlobalErrorDocs.js +58 -0
- package/es/components/global-error/GlobalErrorDocs.js.map +1 -0
- package/es/components/info-card/InfoCardDocs.d.ts +3 -0
- package/es/components/info-card/InfoCardDocs.js +95 -0
- package/es/components/info-card/InfoCardDocs.js.map +1 -0
- package/es/components/tabs/Tabs.js +2 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/upload/UploadFileList.js +2 -3
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +2 -2
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +21 -29
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/es/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/es/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
- package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.js +35 -34
- package/es/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +101 -58
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js +59 -0
- package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/es/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +64 -22
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +16 -8
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +1 -1
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.js +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +2 -2
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +4 -4
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +35 -41
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/extensions/forms/FieldBlock/FieldBlock.js +2 -2
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +3 -4
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Visibility/Visibility.d.ts +1 -10
- package/extensions/forms/Form/Visibility/Visibility.js +1 -0
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +2 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +5 -2
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js +1 -1
- package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -2
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.js +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Wizard/Buttons/Buttons.js +2 -2
- package/extensions/forms/Wizard/Buttons/Buttons.js.map +1 -1
- package/extensions/forms/Wizard/Container/DisplaySteps.js +6 -5
- package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/IterateOverSteps.d.ts +4 -3
- package/extensions/forms/Wizard/Container/IterateOverSteps.js +36 -34
- package/extensions/forms/Wizard/Container/IterateOverSteps.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +105 -58
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Container/useCollectStepsData.d.ts +10 -0
- package/extensions/forms/Wizard/Container/useCollectStepsData.js +60 -0
- package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -0
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +17 -4
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/Wizard/Context/types.d.ts +9 -6
- package/extensions/forms/Wizard/Context/types.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
- package/extensions/forms/Wizard/Step/Step.js +66 -22
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js +2 -2
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.js +10 -18
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +16 -8
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +1 -1
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.js +1 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useContext } from 'react';
|
|
4
|
+
import { convertJsxToString } from '../../../../shared/component-helper';
|
|
5
|
+
import WizardContext from '../Context/WizardContext';
|
|
6
|
+
import { useTranslation } from '../../hooks';
|
|
7
|
+
export function useCollectStepsData() {
|
|
8
|
+
const {
|
|
9
|
+
activeIndexRef,
|
|
10
|
+
hasErrorInOtherStepRef,
|
|
11
|
+
stepsRef,
|
|
12
|
+
submitCountRef,
|
|
13
|
+
writeStepsState,
|
|
14
|
+
hasInvalidStepsState
|
|
15
|
+
} = useContext(WizardContext) || {};
|
|
16
|
+
const translations = useTranslation();
|
|
17
|
+
const collectStepsData = useCallback(_ref => {
|
|
18
|
+
let {
|
|
19
|
+
id,
|
|
20
|
+
index,
|
|
21
|
+
inactive,
|
|
22
|
+
title
|
|
23
|
+
} = _ref;
|
|
24
|
+
if (!hasInvalidStepsState) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
writeStepsState(index);
|
|
28
|
+
const stringifiedTitle = title !== undefined ? convertJsxToString(title) : 'Title missing';
|
|
29
|
+
let status = undefined;
|
|
30
|
+
let statusState = undefined;
|
|
31
|
+
if (index !== activeIndexRef.current && !inactive) {
|
|
32
|
+
if (hasInvalidStepsState(index, ['error'])) {
|
|
33
|
+
status = translations.Step.stepHasError;
|
|
34
|
+
statusState = 'error';
|
|
35
|
+
} else if (submitCountRef.current > 0 && hasInvalidStepsState(index, ['unknown'])) {
|
|
36
|
+
status = 'Unknown state';
|
|
37
|
+
statusState = 'warn';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (status) {
|
|
41
|
+
hasErrorInOtherStepRef.current = true;
|
|
42
|
+
}
|
|
43
|
+
stepsRef.current.set(index, {
|
|
44
|
+
index,
|
|
45
|
+
id,
|
|
46
|
+
title,
|
|
47
|
+
stringifiedTitle,
|
|
48
|
+
inactive,
|
|
49
|
+
status,
|
|
50
|
+
statusState
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
title
|
|
54
|
+
};
|
|
55
|
+
}, [activeIndexRef, hasErrorInOtherStepRef, hasInvalidStepsState, stepsRef, submitCountRef, translations.Step.stepHasError, writeStepsState]);
|
|
56
|
+
return {
|
|
57
|
+
collectStepsData
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=useCollectStepsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCollectStepsData.js","names":["useCallback","useContext","convertJsxToString","WizardContext","useTranslation","useCollectStepsData","activeIndexRef","hasErrorInOtherStepRef","stepsRef","submitCountRef","writeStepsState","hasInvalidStepsState","translations","collectStepsData","_ref","id","index","inactive","title","stringifiedTitle","undefined","status","statusState","current","Step","stepHasError","set"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/useCollectStepsData.tsx"],"sourcesContent":["import { useCallback, useContext } from 'react'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport WizardContext from '../Context/WizardContext'\nimport { useTranslation } from '../../hooks'\n\nexport function useCollectStepsData() {\n const {\n activeIndexRef,\n hasErrorInOtherStepRef,\n stepsRef,\n submitCountRef,\n writeStepsState,\n hasInvalidStepsState,\n } = useContext(WizardContext) || {}\n\n const translations = useTranslation()\n\n const collectStepsData = useCallback(\n ({ id, index, inactive, title }) => {\n if (!hasInvalidStepsState) {\n return // stop here\n }\n\n writeStepsState(index)\n\n const stringifiedTitle =\n title !== undefined ? convertJsxToString(title) : 'Title missing'\n\n let status = undefined\n let statusState = undefined\n if (index !== activeIndexRef.current && !inactive) {\n if (hasInvalidStepsState(index, ['error'])) {\n status = translations.Step.stepHasError\n statusState = 'error'\n } else if (\n submitCountRef.current > 0 &&\n hasInvalidStepsState(index, ['unknown'])\n ) {\n status = 'Unknown state'\n statusState = 'warn'\n }\n }\n\n if (status) {\n hasErrorInOtherStepRef.current = true\n }\n\n stepsRef.current.set(index, {\n index,\n id,\n title,\n stringifiedTitle,\n inactive,\n status,\n statusState,\n })\n\n return { title }\n },\n [\n activeIndexRef,\n hasErrorInOtherStepRef,\n hasInvalidStepsState,\n stepsRef,\n submitCountRef,\n translations.Step.stepHasError,\n writeStepsState,\n ]\n )\n\n return { collectStepsData }\n}\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,OAAO;AAC/C,SAASC,kBAAkB,QAAQ,qCAAqC;AACxE,OAAOC,aAAa,MAAM,0BAA0B;AACpD,SAASC,cAAc,QAAQ,aAAa;AAE5C,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,MAAM;IACJC,cAAc;IACdC,sBAAsB;IACtBC,QAAQ;IACRC,cAAc;IACdC,eAAe;IACfC;EACF,CAAC,GAAGV,UAAU,CAACE,aAAa,CAAC,IAAI,CAAC,CAAC;EAEnC,MAAMS,YAAY,GAAGR,cAAc,CAAC,CAAC;EAErC,MAAMS,gBAAgB,GAAGb,WAAW,CAClCc,IAAA,IAAoC;IAAA,IAAnC;MAAEC,EAAE;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAAJ,IAAA;IAC7B,IAAI,CAACH,oBAAoB,EAAE;MACzB;IACF;IAEAD,eAAe,CAACM,KAAK,CAAC;IAEtB,MAAMG,gBAAgB,GACpBD,KAAK,KAAKE,SAAS,GAAGlB,kBAAkB,CAACgB,KAAK,CAAC,GAAG,eAAe;IAEnE,IAAIG,MAAM,GAAGD,SAAS;IACtB,IAAIE,WAAW,GAAGF,SAAS;IAC3B,IAAIJ,KAAK,KAAKV,cAAc,CAACiB,OAAO,IAAI,CAACN,QAAQ,EAAE;MACjD,IAAIN,oBAAoB,CAACK,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE;QAC1CK,MAAM,GAAGT,YAAY,CAACY,IAAI,CAACC,YAAY;QACvCH,WAAW,GAAG,OAAO;MACvB,CAAC,MAAM,IACLb,cAAc,CAACc,OAAO,GAAG,CAAC,IAC1BZ,oBAAoB,CAACK,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EACxC;QACAK,MAAM,GAAG,eAAe;QACxBC,WAAW,GAAG,MAAM;MACtB;IACF;IAEA,IAAID,MAAM,EAAE;MACVd,sBAAsB,CAACgB,OAAO,GAAG,IAAI;IACvC;IAEAf,QAAQ,CAACe,OAAO,CAACG,GAAG,CAACV,KAAK,EAAE;MAC1BA,KAAK;MACLD,EAAE;MACFG,KAAK;MACLC,gBAAgB;MAChBF,QAAQ;MACRI,MAAM;MACNC;IACF,CAAC,CAAC;IAEF,OAAO;MAAEJ;IAAM,CAAC;EAClB,CAAC,EACD,CACEZ,cAAc,EACdC,sBAAsB,EACtBI,oBAAoB,EACpBH,QAAQ,EACRC,cAAc,EACdG,YAAY,CAACY,IAAI,CAACC,YAAY,EAC9Bf,eAAe,CAEnB,CAAC;EAED,OAAO;IAAEG;EAAiB,CAAC;AAC7B","ignoreList":[]}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Path } from '../../types';
|
|
3
3
|
import { VisibleWhen } from '../../Form/Visibility';
|
|
4
|
-
import { InternalStepStatus,
|
|
4
|
+
import { InternalStepStatus, SetActiveIndexOptions, StepIndex, Steps } from './types';
|
|
5
|
+
export type HandleStatusArgs = {
|
|
6
|
+
id: string;
|
|
7
|
+
index: StepIndex;
|
|
8
|
+
inactive: boolean;
|
|
9
|
+
titleProp: React.ReactNode;
|
|
10
|
+
};
|
|
5
11
|
export interface WizardContextState {
|
|
6
12
|
id?: string;
|
|
7
13
|
totalSteps?: number;
|
|
@@ -11,8 +17,9 @@ export interface WizardContextState {
|
|
|
11
17
|
stepsRef?: React.MutableRefObject<Steps>;
|
|
12
18
|
updateTitlesRef?: React.MutableRefObject<() => void>;
|
|
13
19
|
activeIndexRef?: React.MutableRefObject<StepIndex>;
|
|
20
|
+
stepIndexRef?: React.MutableRefObject<StepIndex>;
|
|
14
21
|
totalStepsRef?: React.MutableRefObject<number>;
|
|
15
|
-
|
|
22
|
+
submitCountRef?: React.MutableRefObject<number>;
|
|
16
23
|
prerenderFieldPropsRef?: React.MutableRefObject<Record<string, () => React.ReactElement>>;
|
|
17
24
|
hasErrorInOtherStepRef?: React.MutableRefObject<boolean>;
|
|
18
25
|
prerenderFieldProps?: boolean;
|
|
@@ -21,11 +28,17 @@ export interface WizardContextState {
|
|
|
21
28
|
handleNext?: () => void;
|
|
22
29
|
setActiveIndex?: (index: StepIndex, { skipStepChangeCall, skipStepChangeCallBeforeMounted, skipStepChangeCallFromHook, }?: SetActiveIndexOptions) => void;
|
|
23
30
|
setFormError?: (error: Error) => void;
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
setFieldError?: (index: StepIndex, path: Path, hasError: boolean) => void;
|
|
32
|
+
writeStepsState?: (index?: StepIndex, forStates?: Array<InternalStepStatus>) => void;
|
|
33
|
+
hasInvalidStepsState?: (index?: StepIndex, forStates?: Array<InternalStepStatus>) => boolean;
|
|
26
34
|
check?: ({ visibleWhen }: {
|
|
27
35
|
visibleWhen: VisibleWhen;
|
|
28
36
|
}) => boolean;
|
|
37
|
+
collectStepsData?: (args: HandleStatusArgs) => {
|
|
38
|
+
title: string;
|
|
39
|
+
};
|
|
40
|
+
enableMapOverChildren?: () => void;
|
|
41
|
+
mapOverChildrenRef?: React.MutableRefObject<boolean>;
|
|
29
42
|
}
|
|
30
43
|
declare const WizardContext: React.Context<WizardContextState>;
|
|
31
44
|
export default WizardContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n
|
|
1
|
+
{"version":3,"file":"WizardContext.js","names":["React","WizardContext","createContext","undefined"],"sources":["../../../../../../src/extensions/forms/Wizard/Context/WizardContext.ts"],"sourcesContent":["import React from 'react'\nimport { Path } from '../../types'\nimport { VisibleWhen } from '../../Form/Visibility'\nimport {\n InternalStepStatus,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n} from './types'\n\nexport type HandleStatusArgs = {\n id: string\n index: StepIndex\n inactive: boolean\n titleProp: React.ReactNode\n}\n\nexport interface WizardContextState {\n id?: string\n totalSteps?: number\n activeIndex?: StepIndex\n initialActiveIndex?: StepIndex\n stepElementRef?: React.MutableRefObject<HTMLElement>\n stepsRef?: React.MutableRefObject<Steps>\n updateTitlesRef?: React.MutableRefObject<() => void>\n activeIndexRef?: React.MutableRefObject<StepIndex>\n stepIndexRef?: React.MutableRefObject<StepIndex>\n totalStepsRef?: React.MutableRefObject<number>\n submitCountRef?: React.MutableRefObject<number>\n prerenderFieldPropsRef?: React.MutableRefObject<\n Record<string, () => React.ReactElement>\n >\n hasErrorInOtherStepRef?: React.MutableRefObject<boolean>\n prerenderFieldProps?: boolean\n keepInDOM?: boolean\n handlePrevious?: () => void\n handleNext?: () => void\n setActiveIndex?: (\n index: StepIndex,\n {\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n }?: SetActiveIndexOptions\n ) => void\n setFormError?: (error: Error) => void\n setFieldError?: (index: StepIndex, path: Path, hasError: boolean) => void\n writeStepsState?: (\n index?: StepIndex,\n forStates?: Array<InternalStepStatus>\n ) => void\n hasInvalidStepsState?: (\n index?: StepIndex,\n forStates?: Array<InternalStepStatus>\n ) => boolean\n check?: ({ visibleWhen }: { visibleWhen: VisibleWhen }) => boolean\n collectStepsData?: (args: HandleStatusArgs) => { title: string }\n enableMapOverChildren?: () => void\n mapOverChildrenRef?: React.MutableRefObject<boolean>\n}\n\nconst WizardContext = React.createContext<WizardContextState | undefined>(\n undefined\n)\n\nexport default WizardContext\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AA6DzB,MAAMC,aAAa,GAAGD,KAAK,CAACE,aAAa,CACvCC,SACF,CAAC;AAED,eAAeF,aAAa","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem';
|
|
2
3
|
import { EventReturnWithStateObject, Path } from '../../types';
|
|
3
4
|
export type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified';
|
|
@@ -11,9 +12,11 @@ export type OnStepChangeOptions = {
|
|
|
11
12
|
};
|
|
12
13
|
export type OnStepChange = (index: StepIndex, mode: OnStepsChangeMode, options: OnStepChangeOptions) => EventReturnWithStateObject | void | Promise<EventReturnWithStateObject | void>;
|
|
13
14
|
export type StepIndex = number;
|
|
14
|
-
export type Steps =
|
|
15
|
-
|
|
15
|
+
export type Steps = Map<StepIndex, {
|
|
16
|
+
index: StepIndex;
|
|
16
17
|
id: string;
|
|
18
|
+
title: React.ReactNode;
|
|
19
|
+
stringifiedTitle: string;
|
|
17
20
|
inactive?: boolean;
|
|
18
21
|
/** Used internally to set the status */
|
|
19
22
|
status?: string;
|
|
@@ -26,10 +29,10 @@ export type SetActiveIndexOptions = {
|
|
|
26
29
|
skipStepChangeCallFromHook?: boolean;
|
|
27
30
|
skipErrorCheck?: boolean;
|
|
28
31
|
};
|
|
29
|
-
export type InternalStepStatus = 'error' | '
|
|
30
|
-
export type InternalStepStatuses =
|
|
31
|
-
export type InternalVisitedSteps =
|
|
32
|
-
export type InternalFieldError =
|
|
32
|
+
export type InternalStepStatus = 'error' | 'unknown' | undefined;
|
|
33
|
+
export type InternalStepStatuses = Map<StepIndex, InternalStepStatus>;
|
|
34
|
+
export type InternalVisitedSteps = Map<StepIndex, boolean>;
|
|
35
|
+
export type InternalFieldError = Map<Path, {
|
|
33
36
|
index: StepIndex;
|
|
34
37
|
hasError: boolean;
|
|
35
38
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Wizard/Context/types.ts"],"sourcesContent":["import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { EventReturnWithStateObject, Path } from '../../types'\n\nexport type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified'\nexport type OnStepChangeOptions = {\n preventNavigation: (shouldPrevent?: boolean) => void\n id?: string\n previousStep: {\n index: StepIndex\n id?: string\n }\n}\nexport type OnStepChange = (\n index: StepIndex,\n mode: OnStepsChangeMode,\n options: OnStepChangeOptions\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type Steps =
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Wizard/Context/types.ts"],"sourcesContent":["import { StepIndicatorStatusState } from '../../../../components/step-indicator/StepIndicatorItem'\nimport { EventReturnWithStateObject, Path } from '../../types'\n\nexport type OnStepsChangeMode = 'previous' | 'next' | 'stepListModified'\nexport type OnStepChangeOptions = {\n preventNavigation: (shouldPrevent?: boolean) => void\n id?: string\n previousStep: {\n index: StepIndex\n id?: string\n }\n}\nexport type OnStepChange = (\n index: StepIndex,\n mode: OnStepsChangeMode,\n options: OnStepChangeOptions\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type StepIndex = number\nexport type Steps = Map<\n StepIndex,\n {\n index: StepIndex\n id: string\n title: React.ReactNode\n stringifiedTitle: string\n inactive?: boolean\n\n /** Used internally to set the status */\n status?: string\n\n /** Used internally to set the statusState */\n statusState?: StepIndicatorStatusState\n }\n>\nexport type SetActiveIndexOptions = {\n skipStepChangeCall?: boolean\n skipStepChangeCallBeforeMounted?: boolean\n skipStepChangeCallFromHook?: boolean\n skipErrorCheck?: boolean\n}\n\nexport type InternalStepStatus = 'error' | 'unknown' | undefined\nexport type InternalStepStatuses = Map<StepIndex, InternalStepStatus>\nexport type InternalVisitedSteps = Map<StepIndex, boolean>\nexport type InternalFieldError = Map<\n Path,\n {\n index: StepIndex\n hasError: boolean\n }\n>\n"],"mappings":"","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { Props as FlexContainerProps } from '../../../../components/flex/Contain
|
|
|
4
4
|
import type { VisibleWhen } from '../../Form/Visibility';
|
|
5
5
|
export type Props = ComponentProps & FlexContainerProps & {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* An unique title of the step.
|
|
8
8
|
*/
|
|
9
9
|
title?: React.ReactNode;
|
|
10
10
|
/**
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
|
-
var _Fragment;
|
|
6
|
+
var _Fragment, _Fragment2, _Fragment3;
|
|
7
7
|
const _excluded = ["active", "activeWhen", "include", "includeWhen"],
|
|
8
|
-
_excluded2 = ["className", "title", "
|
|
8
|
+
_excluded2 = ["id", "className", "title", "index", "inactive", "include", "includeWhen", "required", "keepInDOM", "prerenderFieldProps", "children"];
|
|
9
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
9
10
|
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; }
|
|
10
11
|
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; }
|
|
11
|
-
import React, { useContext, useMemo
|
|
12
|
+
import React, { useContext, useMemo } from 'react';
|
|
12
13
|
import classnames from 'classnames';
|
|
13
14
|
import WizardContext from '../Context/WizardContext';
|
|
14
15
|
import WizardStepContext from './StepContext';
|
|
15
16
|
import Flex from '../../../../components/flex/Flex';
|
|
16
17
|
import { convertJsxToString, warn } from '../../../../shared/component-helper';
|
|
17
18
|
import FieldProvider from '../../Field/Provider';
|
|
18
|
-
const useLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;
|
|
19
19
|
export function handleDeprecatedProps(_ref) {
|
|
20
20
|
let {
|
|
21
21
|
active,
|
|
@@ -32,10 +32,11 @@ export function handleDeprecatedProps(_ref) {
|
|
|
32
32
|
function Step(props) {
|
|
33
33
|
const _handleDeprecatedProp = handleDeprecatedProps(props),
|
|
34
34
|
{
|
|
35
|
+
id,
|
|
35
36
|
className,
|
|
36
37
|
title,
|
|
38
|
+
index: indexProp,
|
|
37
39
|
inactive,
|
|
38
|
-
index,
|
|
39
40
|
include = true,
|
|
40
41
|
includeWhen,
|
|
41
42
|
required,
|
|
@@ -46,33 +47,76 @@ function Step(props) {
|
|
|
46
47
|
restProps = _objectWithoutProperties(_handleDeprecatedProp, _excluded2);
|
|
47
48
|
const {
|
|
48
49
|
check,
|
|
50
|
+
enableMapOverChildren,
|
|
49
51
|
activeIndex,
|
|
50
52
|
initialActiveIndex,
|
|
51
|
-
|
|
53
|
+
totalStepsRef,
|
|
52
54
|
stepElementRef,
|
|
55
|
+
stepIndexRef,
|
|
56
|
+
stepsRef,
|
|
53
57
|
keepInDOM
|
|
54
58
|
} = useContext(WizardContext) || {};
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
const wizardStepContext = useContext(WizardStepContext) || {};
|
|
60
|
+
const indexFromContext = wizardStepContext.index;
|
|
61
|
+
const totalSteps = totalStepsRef === null || totalStepsRef === void 0 ? void 0 : totalStepsRef.current;
|
|
62
|
+
const ariaLabel = useMemo(() => convertJsxToString(title), [title]);
|
|
63
|
+
const index = useMemo(() => {
|
|
64
|
+
if (indexProp !== undefined) {
|
|
65
|
+
return indexProp;
|
|
66
|
+
}
|
|
67
|
+
if (indexFromContext !== undefined) {
|
|
68
|
+
return indexFromContext;
|
|
69
|
+
}
|
|
70
|
+
if (stepsRef !== null && stepsRef !== void 0 && stepsRef.current) {
|
|
71
|
+
const {
|
|
72
|
+
index
|
|
73
|
+
} = Array.from(stepsRef.current.values()).find(_ref2 => {
|
|
74
|
+
var _originalTitleProp$pr;
|
|
75
|
+
let {
|
|
76
|
+
id: currentId,
|
|
77
|
+
title: originalTitleProp,
|
|
78
|
+
stringifiedTitle
|
|
79
|
+
} = _ref2;
|
|
80
|
+
if (id !== undefined) {
|
|
81
|
+
return id === currentId;
|
|
82
|
+
}
|
|
83
|
+
const translationId = originalTitleProp === null || originalTitleProp === void 0 ? void 0 : (_originalTitleProp$pr = originalTitleProp['props']) === null || _originalTitleProp$pr === void 0 ? void 0 : _originalTitleProp$pr.id;
|
|
84
|
+
if (translationId) {
|
|
85
|
+
var _title$props;
|
|
86
|
+
return translationId === (title === null || title === void 0 ? void 0 : (_title$props = title['props']) === null || _title$props === void 0 ? void 0 : _title$props.id);
|
|
87
|
+
}
|
|
88
|
+
if (stringifiedTitle) {
|
|
89
|
+
return stringifiedTitle === ariaLabel;
|
|
90
|
+
}
|
|
91
|
+
return originalTitleProp === title;
|
|
92
|
+
}) || {};
|
|
93
|
+
if (index !== undefined) {
|
|
94
|
+
return index;
|
|
64
95
|
}
|
|
65
|
-
return () => {
|
|
66
|
-
stepElementRef.current = null;
|
|
67
|
-
};
|
|
68
96
|
}
|
|
69
|
-
|
|
97
|
+
if (totalSteps && stepIndexRef) {
|
|
98
|
+
stepIndexRef.current += 1;
|
|
99
|
+
}
|
|
100
|
+
return stepIndexRef === null || stepIndexRef === void 0 ? void 0 : stepIndexRef.current;
|
|
101
|
+
}, [indexProp, stepsRef, totalSteps, stepIndexRef, indexFromContext, title, id, ariaLabel]);
|
|
102
|
+
if (index >= totalSteps) {
|
|
103
|
+
enableMapOverChildren();
|
|
104
|
+
}
|
|
70
105
|
if (prerenderFieldProps) {
|
|
71
106
|
return children;
|
|
72
107
|
}
|
|
108
|
+
if (include === false) {
|
|
109
|
+
return _Fragment || (_Fragment = React.createElement(React.Fragment, null));
|
|
110
|
+
}
|
|
111
|
+
if (includeWhen && !check({
|
|
112
|
+
visibleWhen: includeWhen
|
|
113
|
+
})) {
|
|
114
|
+
return _Fragment2 || (_Fragment2 = React.createElement(React.Fragment, null));
|
|
115
|
+
}
|
|
73
116
|
const fieldProps = typeof required === 'boolean' ? {
|
|
74
117
|
required
|
|
75
118
|
} : undefined;
|
|
119
|
+
const innerRef = !prerenderFieldProps && activeIndex === index ? stepElementRef : null;
|
|
76
120
|
const content = React.createElement(WizardStepContext.Provider, {
|
|
77
121
|
value: {
|
|
78
122
|
index
|
|
@@ -81,10 +125,10 @@ function Step(props) {
|
|
|
81
125
|
className: classnames('dnb-forms-step', className),
|
|
82
126
|
element: "section",
|
|
83
127
|
"aria-label": ariaLabel,
|
|
84
|
-
innerRef:
|
|
128
|
+
innerRef: innerRef,
|
|
85
129
|
tabIndex: -1
|
|
86
130
|
}, restProps), fieldProps ? React.createElement(FieldProvider, fieldProps, children) : children));
|
|
87
|
-
if (activeIndex !== index ||
|
|
131
|
+
if (activeIndex !== index || includeWhen && !check({
|
|
88
132
|
visibleWhen: includeWhen
|
|
89
133
|
})) {
|
|
90
134
|
if (keepInDOMProp !== null && keepInDOMProp !== void 0 ? keepInDOMProp : keepInDOM) {
|
|
@@ -97,7 +141,7 @@ function Step(props) {
|
|
|
97
141
|
warn(`initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use "keepInDOM" to always run validation.`);
|
|
98
142
|
}
|
|
99
143
|
}
|
|
100
|
-
return
|
|
144
|
+
return _Fragment3 || (_Fragment3 = React.createElement(React.Fragment, null));
|
|
101
145
|
}
|
|
102
146
|
return React.createElement(React.Fragment, null, content);
|
|
103
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","useRef","classnames","WizardContext","WizardStepContext","Flex","convertJsxToString","warn","FieldProvider","useLayoutEffect","window","useEffect","handleDeprecatedProps","_ref","active","activeWhen","include","includeWhen","rest","_objectWithoutProperties","_excluded","_objectSpread","Step","props","_handleDeprecatedProp","className","title","inactive","index","required","keepInDOM","keepInDOMProp","prerenderFieldProps","children","restProps","_excluded2","check","activeIndex","initialActiveIndex","stepsRef","stepElementRef","ariaLabel","_ref2","_stepsRef$current","_stepsRef$current$ind","_stepsRef$current2","current","currentElementRef","fieldProps","undefined","content","createElement","Provider","value","Stack","_extends","element","innerRef","tabIndex","visibleWhen","hidden","_Fragment","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport WizardStepContext from './StepContext'\nimport Flex from '../../../../components/flex/Flex'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport FieldProvider from '../../Field/Provider'\nimport type { VisibleWhen } from '../../Form/Visibility'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * A title that will be displayed in the indicator.\n */\n title?: React.ReactNode\n /**\n * Will treat the step as non-navigable if set to `true`.\n */\n inactive?: boolean\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n * @deprecated use `include` instead\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n * @deprecated use `includeWhen` instead\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n\n include?: boolean\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n */\n includeWhen?: VisibleWhen\n\n /**\n * Determines if the step should be kept in the DOM. Defaults to `false`.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nexport function handleDeprecatedProps({\n active,\n activeWhen,\n include,\n includeWhen,\n ...rest\n}: Props): Omit<Props, 'active' | 'activeWhen'> {\n return {\n include: include ?? active,\n includeWhen: includeWhen ?? activeWhen,\n ...rest,\n }\n}\nfunction Step(props: Props): JSX.Element {\n const {\n className,\n title,\n inactive, // eslint-disable-line\n index,\n include = true,\n includeWhen,\n required,\n keepInDOM: keepInDOMProp,\n prerenderFieldProps,\n children,\n ...restProps\n } = handleDeprecatedProps(props)\n const {\n check,\n activeIndex,\n initialActiveIndex,\n stepsRef,\n stepElementRef,\n keepInDOM,\n } = useContext(WizardContext) || {}\n\n const ariaLabel = useMemo(() => {\n return (\n (!prerenderFieldProps &&\n (stepsRef?.current?.[index]?.title ||\n stepsRef?.current?.[index])) ??\n convertJsxToString(title)\n )\n }, [index, prerenderFieldProps, title, stepsRef])\n\n const currentElementRef = useRef<HTMLElement>()\n useLayoutEffect(() => {\n if (!prerenderFieldProps && typeof stepElementRef !== 'undefined') {\n if (currentElementRef.current) {\n stepElementRef.current = currentElementRef.current\n }\n return () => {\n stepElementRef.current = null\n }\n }\n }, [prerenderFieldProps, stepElementRef])\n\n if (prerenderFieldProps) {\n return children as JSX.Element\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n\n const content = (\n <WizardStepContext.Provider value={{ index }}>\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={currentElementRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProvider {...fieldProps}>{children}</FieldProvider>\n ) : (\n children\n )}\n </Flex.Stack>\n </WizardStepContext.Provider>\n )\n\n if (\n activeIndex !== index ||\n include === false ||\n (includeWhen && !check({ visibleWhen: includeWhen }))\n ) {\n if (keepInDOMProp ?? keepInDOM) {\n return (\n <div title=\"Wizard Step\" hidden>\n {content}\n </div>\n )\n } else {\n if (initialActiveIndex > 0) {\n warn(\n `initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use \"keepInDOM\" to always run validation.`\n )\n }\n }\n\n // Another step is active\n return <></>\n }\n\n return <>{content}</>\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Step.js","names":["React","useContext","useMemo","classnames","WizardContext","WizardStepContext","Flex","convertJsxToString","warn","FieldProvider","handleDeprecatedProps","_ref","active","activeWhen","include","includeWhen","rest","_objectWithoutProperties","_excluded","_objectSpread","Step","props","_handleDeprecatedProp","id","className","title","index","indexProp","inactive","required","keepInDOM","keepInDOMProp","prerenderFieldProps","children","restProps","_excluded2","check","enableMapOverChildren","activeIndex","initialActiveIndex","totalStepsRef","stepElementRef","stepIndexRef","stepsRef","wizardStepContext","indexFromContext","totalSteps","current","ariaLabel","undefined","Array","from","values","find","_ref2","_originalTitleProp$pr","currentId","originalTitleProp","stringifiedTitle","translationId","_title$props","_Fragment","createElement","Fragment","visibleWhen","_Fragment2","fieldProps","innerRef","content","Provider","value","Stack","_extends","element","tabIndex","hidden","_Fragment3","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/Step.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { ComponentProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport WizardContext from '../Context/WizardContext'\nimport WizardStepContext from './StepContext'\nimport Flex from '../../../../components/flex/Flex'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport FieldProvider from '../../Field/Provider'\nimport type { VisibleWhen } from '../../Form/Visibility'\n\nexport type Props = ComponentProps &\n FlexContainerProps & {\n /**\n * An unique title of the step.\n */\n title?: React.ReactNode\n\n /**\n * Will treat the step as non-navigable if set to `true`.\n */\n inactive?: boolean\n\n /**\n * To determine if the step should be rendered.\n * Used internally by the WizardContainer.\n */\n index?: number\n\n /**\n * Will make all the fields inside the step to be required.\n */\n required?: boolean\n\n /**\n * If set to `false`, the step will not be rendered.\n * @deprecated use `include` instead\n */\n active?: boolean\n\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n * @deprecated use `includeWhen` instead\n */\n activeWhen?: VisibleWhen\n\n /**\n * If set to `false`, the step will not be rendered.\n */\n\n include?: boolean\n /**\n * Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.\n */\n includeWhen?: VisibleWhen\n\n /**\n * Determines if the step should be kept in the DOM. Defaults to `false`.\n */\n keepInDOM?: boolean\n\n /**\n * If set to `true`, the step will always be rendered.\n * For internal use only.\n */\n prerenderFieldProps?: boolean\n }\n\nexport function handleDeprecatedProps({\n active,\n activeWhen,\n include,\n includeWhen,\n ...rest\n}: Props): Omit<Props, 'active' | 'activeWhen'> {\n return {\n include: include ?? active,\n includeWhen: includeWhen ?? activeWhen,\n ...rest,\n }\n}\n\nfunction Step(props: Props): JSX.Element {\n const {\n id,\n className,\n title,\n index: indexProp,\n inactive, // eslint-disable-line\n include = true,\n includeWhen,\n required,\n keepInDOM: keepInDOMProp,\n prerenderFieldProps,\n children,\n ...restProps\n } = handleDeprecatedProps(props)\n\n const {\n check,\n enableMapOverChildren,\n activeIndex,\n initialActiveIndex,\n totalStepsRef,\n stepElementRef,\n stepIndexRef,\n stepsRef,\n keepInDOM,\n } = useContext(WizardContext) || {}\n\n const wizardStepContext = useContext(WizardStepContext) || {}\n const indexFromContext = wizardStepContext.index\n\n const totalSteps = totalStepsRef?.current\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n const index = useMemo(() => {\n if (indexProp !== undefined) {\n return indexProp\n }\n\n // Try to use the index from the step context\n if (indexFromContext !== undefined) {\n return indexFromContext\n }\n\n if (stepsRef?.current) {\n // Try different ways to find the step index\n const { index } =\n Array.from(stepsRef.current.values()).find(\n ({\n id: currentId,\n title: originalTitleProp,\n stringifiedTitle,\n }) => {\n // Try to find the step by id\n if (id !== undefined) {\n return id === currentId\n }\n\n // Try to find the step by <Translation id=\"...\" />\n const translationId = originalTitleProp?.['props']?.id\n if (translationId) {\n return translationId === title?.['props']?.id\n }\n\n // Try to find the step by a string (with convertJsxToString) title\n if (stringifiedTitle) {\n return stringifiedTitle === ariaLabel\n }\n\n // Try to find the step by a JSX title\n return originalTitleProp === title\n }\n ) || {}\n\n if (index !== undefined) {\n return index\n }\n }\n\n if (\n totalSteps && // Is only used to make the deps ESLint happy.\n stepIndexRef\n ) {\n stepIndexRef.current += 1\n }\n\n return stepIndexRef?.current\n }, [\n indexProp,\n stepsRef,\n totalSteps, // \"totalSteps\" is needed to make dynamic steps work.\n stepIndexRef,\n indexFromContext,\n title,\n id,\n ariaLabel,\n ])\n\n // If the index is greater than the total steps,\n // its a sign that e.g. React.StrictMode is used.\n // And if no title or id is given,\n // we need to force an re-render and use an alternative render method,\n // using React.Children.map(children, ...).\n if (index >= totalSteps) {\n enableMapOverChildren()\n }\n\n if (prerenderFieldProps) {\n return children as JSX.Element\n }\n\n if (include === false) {\n return <></>\n }\n\n if (\n includeWhen &&\n !check({\n visibleWhen: includeWhen,\n })\n ) {\n return <></>\n }\n\n const fieldProps =\n typeof required === 'boolean' ? { required } : undefined\n const innerRef =\n !prerenderFieldProps && activeIndex === index ? stepElementRef : null\n\n const content = (\n <WizardStepContext.Provider value={{ index }}>\n <Flex.Stack\n className={classnames('dnb-forms-step', className)}\n element=\"section\"\n aria-label={ariaLabel}\n innerRef={innerRef}\n tabIndex={-1}\n {...restProps}\n >\n {fieldProps ? (\n <FieldProvider {...fieldProps}>{children}</FieldProvider>\n ) : (\n children\n )}\n </Flex.Stack>\n </WizardStepContext.Provider>\n )\n\n if (\n activeIndex !== index ||\n (includeWhen && !check({ visibleWhen: includeWhen }))\n ) {\n if (keepInDOMProp ?? keepInDOM) {\n return (\n <div title=\"Wizard Step\" hidden>\n {content}\n </div>\n )\n } else {\n if (initialActiveIndex > 0) {\n warn(\n `initialActiveIndex={${initialActiveIndex}} is used. Fields of previews steps may not validate. You can use \"keepInDOM\" to always run validation.`\n )\n }\n }\n\n // Another step is active\n return <></>\n }\n\n return <>{content}</>\n}\n\nStep._supportsSpacingProps = true\nexport default Step\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","inactive","required","include","includeWhen","keepInDOM","children","active","activeWhen","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: '
|
|
1
|
+
{"version":3,"file":"StepDocs.js","names":["StepProperties","title","doc","type","status","inactive","required","include","includeWhen","keepInDOM","children","active","activeWhen","StepEvents"],"sources":["../../../../../../src/extensions/forms/Wizard/Step/StepDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const StepProperties: PropertiesTableProps = {\n title: {\n doc: 'An unique title of the step.',\n type: 'React.Node',\n status: 'required',\n },\n inactive: {\n doc: 'Will treat the step as non-navigable if set to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n required: {\n doc: 'Will make all nested form fields required.',\n type: 'boolean',\n status: 'optional',\n },\n include: {\n doc: 'If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'optional',\n },\n includeWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n keepInDOM: {\n doc: 'Determines if the step should be kept in the DOM. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Flex.Container](/uilib/layout/flex/container/properties)': {\n doc: 'Flex.Container properties.',\n type: 'Various',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n active: {\n doc: 'Deprecated, use `include`. Old docs: If set to `false`, the step will not be rendered.',\n type: 'boolean',\n status: 'deprecated',\n },\n activeWhen: {\n doc: 'Deprecated, use `includeWhen`. Old docs: Provide a `path` and a `hasValue` property with the expected value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'deprecated',\n },\n}\n\nexport const StepEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAoC,GAAG;EAClDC,KAAK,EAAE;IACLC,GAAG,EAAE,8BAA8B;IACnCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDE,QAAQ,EAAE;IACRJ,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,2NAA2N;IAChOC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,2DAA2D,EAAE;IAC3DF,GAAG,EAAE,4BAA4B;IACjCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDO,MAAM,EAAE;IACNT,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,UAAU,EAAE;IACVV,GAAG,EAAE,oQAAoQ;IACzQC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMS,UAAgC,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,11 +10,11 @@ export default function useStep() {
|
|
|
10
10
|
onStepChange
|
|
11
11
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
12
12
|
const setFormError = useCallback(() => null, []);
|
|
13
|
-
const
|
|
13
|
+
const wizardContext = useContext(WizardContext) || {
|
|
14
14
|
setFormError
|
|
15
15
|
};
|
|
16
|
-
if (onStepChange && !id &&
|
|
17
|
-
id =
|
|
16
|
+
if (onStepChange && !id && wizardContext.id) {
|
|
17
|
+
id = wizardContext.id;
|
|
18
18
|
}
|
|
19
19
|
const sharedDataRef = useRef(null);
|
|
20
20
|
sharedDataRef.current = useSharedState(id ? createReferenceKey(id, 'wizard') : undefined);
|
|
@@ -27,22 +27,14 @@ export default function useStep() {
|
|
|
27
27
|
if (data && !data.setFormError) {
|
|
28
28
|
data.setFormError = setFormError;
|
|
29
29
|
}
|
|
30
|
-
const
|
|
30
|
+
const context = data || wizardContext;
|
|
31
31
|
const {
|
|
32
|
-
|
|
33
|
-
} =
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
value.totalSteps = totalSteps;
|
|
38
|
-
}
|
|
39
|
-
}, [stepsRef, value]);
|
|
40
|
-
if (data) {
|
|
41
|
-
setTotalSteps();
|
|
32
|
+
totalStepsRef
|
|
33
|
+
} = context || {};
|
|
34
|
+
const totalSteps = (totalStepsRef === null || totalStepsRef === void 0 ? void 0 : totalStepsRef.current) || 0;
|
|
35
|
+
if (context && context.totalSteps !== totalSteps) {
|
|
36
|
+
context.totalSteps = totalSteps;
|
|
42
37
|
}
|
|
43
|
-
|
|
44
|
-
setTotalSteps();
|
|
45
|
-
}, [setTotalSteps, stepsRef, value]);
|
|
46
|
-
return value;
|
|
38
|
+
return context;
|
|
47
39
|
}
|
|
48
40
|
//# sourceMappingURL=useStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStep.js","names":["React","useCallback","useContext","useRef","WizardContext","createReferenceKey","useSharedState","useLayoutEffect","window","useEffect","useStep","id","arguments","length","undefined","onStepChange","setFormError","
|
|
1
|
+
{"version":3,"file":"useStep.js","names":["React","useCallback","useContext","useRef","WizardContext","createReferenceKey","useSharedState","useLayoutEffect","window","useEffect","useStep","id","arguments","length","undefined","onStepChange","setFormError","wizardContext","sharedDataRef","current","extend","data","context","totalStepsRef","totalSteps"],"sources":["../../../../../../src/extensions/forms/Wizard/hooks/useStep.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport WizardContext, {\n WizardContextState,\n} from '../Context/WizardContext'\nimport type { OnStepChange } from '../Context/types'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport default function useStep(\n id: SharedStateId = null,\n { onStepChange }: { onStepChange?: OnStepChange } = {}\n) {\n const setFormError = useCallback(() => null, [])\n const wizardContext = useContext(WizardContext) || { setFormError }\n\n // In order to make it possible to add a \"onStepChange\" handler without an id,\n // we at least check if there is one from the context.\n if (onStepChange && !id && wizardContext.id) {\n id = wizardContext.id\n }\n\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<WizardContextState>>>(null)\n sharedDataRef.current = useSharedState<WizardContextState>(\n id ? createReferenceKey(id, 'wizard') : undefined\n )\n\n useLayoutEffect(() => {\n sharedDataRef.current.extend({\n onStepChange,\n } as unknown as WizardContextState) // Internal type\n }, [onStepChange])\n\n const data = sharedDataRef.current.data\n if (data && !data.setFormError) {\n data.setFormError = setFormError\n }\n\n const context = data || wizardContext\n const { totalStepsRef } = context || {}\n const totalSteps = totalStepsRef?.current || 0\n if (context && context.totalSteps !== totalSteps) {\n context.totalSteps = totalSteps\n }\n\n return context\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAC9D,OAAOC,aAAa,MAEb,0BAA0B;AAEjC,SAEEC,kBAAkB,EAClBC,cAAc,QACT,2CAA2C;AAGlD,MAAMC,eAAe,GACnB,OAAOC,MAAM,KAAK,WAAW,GAAGR,KAAK,CAACS,SAAS,GAAGT,KAAK,CAACO,eAAe;AAEzE,eAAe,SAASG,OAAOA,CAAA,EAG7B;EAAA,IAFAC,EAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IACxB;IAAEG;EAA8C,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtD,MAAMI,YAAY,GAAGf,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;EAChD,MAAMgB,aAAa,GAAGf,UAAU,CAACE,aAAa,CAAC,IAAI;IAAEY;EAAa,CAAC;EAInE,IAAID,YAAY,IAAI,CAACJ,EAAE,IAAIM,aAAa,CAACN,EAAE,EAAE;IAC3CA,EAAE,GAAGM,aAAa,CAACN,EAAE;EACvB;EAEA,MAAMO,aAAa,GACjBf,MAAM,CAAwD,IAAI,CAAC;EACrEe,aAAa,CAACC,OAAO,GAAGb,cAAc,CACpCK,EAAE,GAAGN,kBAAkB,CAACM,EAAE,EAAE,QAAQ,CAAC,GAAGG,SAC1C,CAAC;EAEDP,eAAe,CAAC,MAAM;IACpBW,aAAa,CAACC,OAAO,CAACC,MAAM,CAAC;MAC3BL;IACF,CAAkC,CAAC;EACrC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMM,IAAI,GAAGH,aAAa,CAACC,OAAO,CAACE,IAAI;EACvC,IAAIA,IAAI,IAAI,CAACA,IAAI,CAACL,YAAY,EAAE;IAC9BK,IAAI,CAACL,YAAY,GAAGA,YAAY;EAClC;EAEA,MAAMM,OAAO,GAAGD,IAAI,IAAIJ,aAAa;EACrC,MAAM;IAAEM;EAAc,CAAC,GAAGD,OAAO,IAAI,CAAC,CAAC;EACvC,MAAME,UAAU,GAAG,CAAAD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEJ,OAAO,KAAI,CAAC;EAC9C,IAAIG,OAAO,IAAIA,OAAO,CAACE,UAAU,KAAKA,UAAU,EAAE;IAChDF,OAAO,CAACE,UAAU,GAAGA,UAAU;EACjC;EAEA,OAAOF,OAAO;AAChB","ignoreList":[]}
|
|
@@ -110,8 +110,10 @@ export default function useFieldProps(localProps) {
|
|
|
110
110
|
setMountedField: setMountedFieldSnapshot
|
|
111
111
|
} = useContext(SnapshotContext) || {};
|
|
112
112
|
const {
|
|
113
|
-
isVisible
|
|
113
|
+
isVisible,
|
|
114
|
+
keepInDOM
|
|
114
115
|
} = useContext(VisibilityContext) || {};
|
|
116
|
+
const handleFieldAsVisible = isVisible || keepInDOM;
|
|
115
117
|
const {
|
|
116
118
|
getValueByPath,
|
|
117
119
|
getSourceValue
|
|
@@ -165,7 +167,7 @@ export default function useFieldProps(localProps) {
|
|
|
165
167
|
activeIndex,
|
|
166
168
|
activeIndexRef,
|
|
167
169
|
prerenderFieldProps,
|
|
168
|
-
|
|
170
|
+
setFieldError: setFieldErrorWizard
|
|
169
171
|
} = wizardContext || {};
|
|
170
172
|
const {
|
|
171
173
|
index: wizardIndex
|
|
@@ -393,10 +395,10 @@ export default function useFieldProps(localProps) {
|
|
|
393
395
|
}, [setFieldStateDataContext, identifier, setFieldStateFieldBlock, validateInitially]);
|
|
394
396
|
const setErrorState = useCallback(hasError => {
|
|
395
397
|
showFieldErrorFieldBlock === null || showFieldErrorFieldBlock === void 0 ? void 0 : showFieldErrorFieldBlock(identifier, hasError);
|
|
396
|
-
revealErrorWizard === null || revealErrorWizard === void 0 ? void 0 : revealErrorWizard(wizardIndex, identifier, hasError);
|
|
397
398
|
revealErrorBoundary === null || revealErrorBoundary === void 0 ? void 0 : revealErrorBoundary(identifier, hasError);
|
|
398
399
|
revealErrorDataContext === null || revealErrorDataContext === void 0 ? void 0 : revealErrorDataContext(identifier, hasError);
|
|
399
|
-
|
|
400
|
+
setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, identifier, handleFieldAsVisible !== false ? hasError : undefined);
|
|
401
|
+
}, [identifier, handleFieldAsVisible, revealErrorBoundary, revealErrorDataContext, setFieldErrorWizard, showFieldErrorFieldBlock, wizardIndex]);
|
|
400
402
|
const revealError = useCallback(() => {
|
|
401
403
|
if (validateInitially === false && revealErrorRef.current === false) {
|
|
402
404
|
revealErrorRef.current = undefined;
|
|
@@ -630,6 +632,7 @@ export default function useFieldProps(localProps) {
|
|
|
630
632
|
localErrorRef.current = error;
|
|
631
633
|
setFieldErrorDataContext === null || setFieldErrorDataContext === void 0 ? void 0 : setFieldErrorDataContext(identifier, error);
|
|
632
634
|
setFieldErrorBoundary === null || setFieldErrorBoundary === void 0 ? void 0 : setFieldErrorBoundary(identifier, error);
|
|
635
|
+
setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, identifier, handleFieldAsVisible !== false ? Boolean(error) : undefined);
|
|
633
636
|
setBlockRecord === null || setBlockRecord === void 0 ? void 0 : setBlockRecord({
|
|
634
637
|
stateId,
|
|
635
638
|
identifier,
|
|
@@ -639,7 +642,7 @@ export default function useFieldProps(localProps) {
|
|
|
639
642
|
});
|
|
640
643
|
setFieldStateDataContext === null || setFieldStateDataContext === void 0 ? void 0 : setFieldStateDataContext(identifier, error ? 'error' : undefined);
|
|
641
644
|
forceUpdate();
|
|
642
|
-
}, [identifier, inFieldBlock, prepareError, setFieldErrorBoundary, setFieldErrorDataContext,
|
|
645
|
+
}, [handleFieldAsVisible, identifier, inFieldBlock, prepareError, setBlockRecord, setFieldErrorBoundary, setFieldErrorDataContext, setFieldErrorWizard, setFieldStateDataContext, stateId, validateInitially, wizardIndex]);
|
|
643
646
|
const clearErrorState = useCallback(() => {
|
|
644
647
|
var _schemaValidatorRef$c;
|
|
645
648
|
persistErrorState('wipe', undefined);
|
|
@@ -1195,7 +1198,12 @@ export default function useFieldProps(localProps) {
|
|
|
1195
1198
|
setFieldErrorBoundary === null || setFieldErrorBoundary === void 0 ? void 0 : setFieldErrorBoundary(identifier, undefined);
|
|
1196
1199
|
localErrorRef.current = undefined;
|
|
1197
1200
|
};
|
|
1198
|
-
}, [identifier, setFieldErrorBoundary, setFieldErrorDataContext
|
|
1201
|
+
}, [identifier, setFieldErrorBoundary, setFieldErrorDataContext]);
|
|
1202
|
+
useEffect(() => {
|
|
1203
|
+
return () => {
|
|
1204
|
+
setFieldErrorWizard === null || setFieldErrorWizard === void 0 ? void 0 : setFieldErrorWizard(wizardIndex, identifier, undefined);
|
|
1205
|
+
};
|
|
1206
|
+
}, [identifier, setFieldErrorWizard, wizardIndex]);
|
|
1199
1207
|
useEffect(() => {
|
|
1200
1208
|
validateValue();
|
|
1201
1209
|
}, [validateValue]);
|
|
@@ -1405,7 +1413,7 @@ export default function useFieldProps(localProps) {
|
|
|
1405
1413
|
});
|
|
1406
1414
|
return () => {
|
|
1407
1415
|
if (mountedFieldsRefFieldBlock) {
|
|
1408
|
-
mountedFieldsRefFieldBlock.current
|
|
1416
|
+
mountedFieldsRefFieldBlock.current.set(identifier, true);
|
|
1409
1417
|
}
|
|
1410
1418
|
};
|
|
1411
1419
|
}
|
|
@@ -1442,7 +1450,7 @@ export default function useFieldProps(localProps) {
|
|
|
1442
1450
|
if (inFieldBlock) {
|
|
1443
1451
|
var _fieldBlockContext$fi;
|
|
1444
1452
|
if (mountedFieldsRefFieldBlock) {
|
|
1445
|
-
mountedFieldsRefFieldBlock.current
|
|
1453
|
+
mountedFieldsRefFieldBlock.current.set(identifier, true);
|
|
1446
1454
|
}
|
|
1447
1455
|
const stateIds = (_fieldBlockContext$fi = fieldBlockContext.fieldStateIdsRef) === null || _fieldBlockContext$fi === void 0 ? void 0 : _fieldBlockContext$fi.current;
|
|
1448
1456
|
if (stateIds) {
|