@dnb/eufemia 10.63.1 → 10.63.2
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 +10 -0
- package/cjs/components/modal/Modal.d.ts +2 -1
- package/cjs/components/modal/Modal.js +10 -4
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/ModalContent.d.ts +10 -8
- package/cjs/components/modal/ModalContent.js +48 -23
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/modal/ModalRoot.d.ts +2 -0
- package/cjs/components/modal/ModalRoot.js.map +1 -1
- package/cjs/components/modal/types.d.ts +11 -3
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/elements/code/style/code-mixins.scss +4 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js +1 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +2 -2
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +23 -16
- package/cjs/extensions/forms/hooks/useFieldProps.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/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/cjs/style/dnb-ui-elements.css +3 -0
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/modal/Modal.d.ts +2 -1
- package/components/modal/Modal.js +10 -4
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/ModalContent.d.ts +10 -8
- package/components/modal/ModalContent.js +48 -23
- package/components/modal/ModalContent.js.map +1 -1
- package/components/modal/ModalRoot.d.ts +2 -0
- package/components/modal/ModalRoot.js.map +1 -1
- package/components/modal/types.d.ts +11 -3
- package/components/modal/types.js.map +1 -1
- package/elements/code/style/code-mixins.scss +4 -0
- package/es/components/modal/Modal.d.ts +2 -1
- package/es/components/modal/Modal.js +10 -4
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/ModalContent.d.ts +10 -8
- package/es/components/modal/ModalContent.js +44 -20
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/modal/ModalRoot.d.ts +2 -0
- package/es/components/modal/ModalRoot.js.map +1 -1
- package/es/components/modal/types.d.ts +11 -3
- package/es/components/modal/types.js.map +1 -1
- package/es/elements/code/style/code-mixins.scss +4 -0
- package/es/extensions/forms/DataContext/Context.d.ts +1 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +2 -2
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useValidation.js +1 -1
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +2 -2
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +23 -16
- package/es/extensions/forms/hooks/useFieldProps.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/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/es/style/dnb-ui-elements.css +3 -0
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-tags.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 +1 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +2 -2
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Form/data-context/useValidation.js +1 -1
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +2 -2
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +23 -16
- package/extensions/forms/hooks/useFieldProps.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/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/style/dnb-ui-elements.css +3 -0
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +3 -0
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.css +3 -0
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +3 -0
- package/style/themes/theme-ui/ui-theme-tags.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 +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useValidation.js","names":["useCallback","useContext","useMemo","createReferenceKey","useSharedState","DataContext","useValidation","id","undefined","data","fallback","context","hasErrors","hasFieldError","setSubmitState","setFormError","error","getFieldConnections","useConnections","setFieldStatus","path","status","_connections$path","_connections$path$set","connections","setEventResult","call","get","dataContext","fieldConnectionsRef","attachments","current"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useValidation.tsx"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport { EventStateObject, Path } from '../../types'\nimport { FormError } from '../../utils'\n\ntype UseDataReturn = {\n hasErrors: ContextState['hasErrors']\n hasFieldError: ContextState['hasFieldError']\n setFormError: (error: Error | FormError | undefined | null) => void\n setFieldStatus: (path: Path, status: EventStateObject) => void\n}\n\nexport default function useValidation(\n id: SharedStateId = undefined\n): UseDataReturn {\n const { data } = useSharedState<\n UseDataReturn & SharedAttachments<unknown>\n >(createReferenceKey(id, 'attachments'))\n\n const fallback = useCallback(() => false, [])\n\n // If no id is provided, use the context version\n const context = useContext(DataContext)\n const hasErrors =\n data?.hasErrors || (!id && context?.hasErrors) || fallback\n const hasFieldError =\n data?.hasFieldError || (!id && context?.hasFieldError) || fallback\n\n // Error handling\n const setSubmitState =\n data?.setSubmitState || (!id && context?.setSubmitState) || fallback\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n // Field status\n const { getFieldConnections } = useConnections(id)\n const setFieldStatus = useCallback(\n (path: Path, status: EventStateObject) => {\n const connections = getFieldConnections()\n connections?.[path]?.setEventResult?.(status)\n },\n [getFieldConnections]\n )\n\n return useMemo(\n () => ({ hasErrors, hasFieldError, setFormError, setFieldStatus }),\n [hasErrors, hasFieldError, setFormError, setFieldStatus]\n )\n}\n\ntype UseConnectionsSharedState = {\n fieldConnectionsRef: ContextState['fieldConnectionsRef']\n}\n\nfunction useConnections(id: SharedStateId = undefined) {\n const { get } = useSharedState<UseConnectionsSharedState>(\n createReferenceKey(id, 'attachments')\n )\n\n const dataContext = useContext(DataContext)\n const { fieldConnectionsRef } = dataContext || {}\n\n const getFieldConnections = useCallback(() => {\n const attachments = get()\n const connections =\n attachments?.fieldConnectionsRef || (!id && fieldConnectionsRef)\n\n return connections
|
|
1
|
+
{"version":3,"file":"useValidation.js","names":["useCallback","useContext","useMemo","createReferenceKey","useSharedState","DataContext","useValidation","id","undefined","data","fallback","context","hasErrors","hasFieldError","setSubmitState","setFormError","error","getFieldConnections","useConnections","setFieldStatus","path","status","_connections$path","_connections$path$set","connections","setEventResult","call","get","dataContext","fieldConnectionsRef","attachments","current"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useValidation.tsx"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport { EventStateObject, Path } from '../../types'\nimport { FormError } from '../../utils'\n\ntype UseDataReturn = {\n hasErrors: ContextState['hasErrors']\n hasFieldError: ContextState['hasFieldError']\n setFormError: (error: Error | FormError | undefined | null) => void\n setFieldStatus: (path: Path, status: EventStateObject) => void\n}\n\nexport default function useValidation(\n id: SharedStateId = undefined\n): UseDataReturn {\n const { data } = useSharedState<\n UseDataReturn & SharedAttachments<unknown>\n >(createReferenceKey(id, 'attachments'))\n\n const fallback = useCallback(() => false, [])\n\n // If no id is provided, use the context version\n const context = useContext(DataContext)\n const hasErrors =\n data?.hasErrors || (!id && context?.hasErrors) || fallback\n const hasFieldError =\n data?.hasFieldError || (!id && context?.hasFieldError) || fallback\n\n // Error handling\n const setSubmitState =\n data?.setSubmitState || (!id && context?.setSubmitState) || fallback\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n // Field status\n const { getFieldConnections } = useConnections(id)\n const setFieldStatus = useCallback(\n (path: Path, status: EventStateObject) => {\n const connections = getFieldConnections()\n connections?.[path]?.setEventResult?.(status)\n },\n [getFieldConnections]\n )\n\n return useMemo(\n () => ({ hasErrors, hasFieldError, setFormError, setFieldStatus }),\n [hasErrors, hasFieldError, setFormError, setFieldStatus]\n )\n}\n\ntype UseConnectionsSharedState = {\n fieldConnectionsRef: ContextState['fieldConnectionsRef']\n}\n\nfunction useConnections(id: SharedStateId = undefined) {\n const { get } = useSharedState<UseConnectionsSharedState>(\n createReferenceKey(id, 'attachments')\n )\n\n const dataContext = useContext(DataContext)\n const { fieldConnectionsRef } = dataContext || {}\n\n const getFieldConnections = useCallback(() => {\n const attachments = get()\n const connections =\n attachments?.fieldConnectionsRef || (!id && fieldConnectionsRef)\n\n return connections?.current\n }, [fieldConnectionsRef, get, id])\n\n return useMemo(() => ({ getFieldConnections }), [getFieldConnections])\n}\n"],"mappings":"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"}
|
|
@@ -139,7 +139,7 @@ function WizardContainer(props) {
|
|
|
139
139
|
}
|
|
140
140
|
setFormState('abort');
|
|
141
141
|
if (!skipErrorCheck) {
|
|
142
|
-
setShowAllErrors(errorOnStepRef.current[index]);
|
|
142
|
+
setShowAllErrors(Boolean(errorOnStepRef.current[index]));
|
|
143
143
|
}
|
|
144
144
|
if (!preventNextStepRef.current && !(result instanceof Error)) {
|
|
145
145
|
handleLayoutEffect();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","errorOnStepRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","sharedStateRef","current","undefined","preventNavigation","shouldPrevent","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleSubmit","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","length","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","sidebar_id","Sidebar","bottom","values","map","title","no_animation","on_change","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","key","clone","cloneElement","document","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","createPortal","body","setFieldInternals","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport useStepAnimation from './useStepAnimation'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\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 id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const errorOnStepRef = useRef<Record<StepIndex, boolean>>({})\n const elementRef = useRef<HTMLElement>()\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>({})\n const tmpStepsRef = useRef<Steps>({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? createReferenceKey(id, 'wizard') : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const getStepChangeOptions: (index: StepIndex) => OnStepChangeOptions =\n useCallback(\n (index) => {\n const previousIndex = activeIndexRef.current\n const options = {\n preventNavigation,\n previousStep: { index: previousIndex },\n }\n\n const id = stepsRef.current[index]?.id\n if (id) {\n const previousId = stepsRef.current[previousIndex]?.id\n Object.assign(options, { id })\n Object.assign(options.previousStep, { id: previousId })\n }\n\n return options\n },\n [preventNavigation]\n )\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: OnStepsChangeMode) => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, getStepChangeOptions(index))\n }\n\n return onStepChange?.(index, mode, getStepChangeOptions(index))\n },\n [getStepChangeOptions, onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ elementRef, stepElementRef })\n\n const executeLayoutAnimationRef = useRef<() => void>()\n useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(\n index,\n mode,\n getStepChangeOptions(index)\n )\n }\n\n let result = undefined\n\n if (\n !skipStepChangeCall &&\n !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ) {\n result = await callOnStepChange(index, mode)\n }\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(errorOnStepRef.current[index])\n }\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current])\n\n const stepsLengthDidChange = useCallback(() => {\n const count = Object.keys(stepsRef.current).length\n const tmpCount = Object.keys(tmpStepsRef.current).length\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via activeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n tmpStepsRef.current = stepsRef.current\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current, callOnStepChange, stepsLengthDidChange])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n innerRef={elementRef}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, stepsRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(stepsRef.current).map(({ title }) => title)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n stepsRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n stepsRef.current[index] = {\n id: child.props.id,\n title:\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing',\n }\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n totalStepsRef.current = childrenArray?.length\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldInternals, updateDataValue } =\n useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldInternals,\n updateDataValue,\n prerenderFieldProps: true,\n hasContext: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WizardContainer.js","names":["React","useContext","useCallback","useRef","useReducer","useMemo","ReactDOM","classnames","Space","StepIndicator","convertJsxToString","warn","isAsync","useId","Step","WizardContext","DataContext","defaultContextState","Handler","createReferenceKey","useSharedState","useHandleLayoutEffect","useStepAnimation","useVisibility","useLayoutEffect","window","useEffect","WizardContainer","props","_dataContext$setHandl","className","id","idProp","mode","initialActiveIndex","omitScrollManagement","omitFocusManagement","onStepChange","children","noAnimation","prerenderFieldProps","variant","sidebarId","rest","_objectWithoutProperties","_excluded","dataContext","hasContext","setFormState","handleSubmitCall","setShowAllErrors","showAllErrors","setSubmitState","forceUpdate","activeIndexRef","totalStepsRef","NaN","errorOnStepRef","elementRef","stepElementRef","preventNextStepRef","stepsRef","tmpStepsRef","updateTitlesRef","prerenderFieldPropsRef","sharedStateRef","current","undefined","preventNavigation","shouldPrevent","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Boolean","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","current_step","setFormError","error","handleSubmit","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","length","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","sidebar_id","Sidebar","bottom","values","map","title","no_animation","on_change","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","key","clone","cloneElement","document","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","createPortal","body","setFieldInternals","updateDataValue","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Wizard/Container/WizardContainer.tsx"],"sourcesContent":["import React, {\n useContext,\n useCallback,\n useRef,\n useReducer,\n useMemo,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport { Space, StepIndicator } from '../../../../components'\nimport {\n convertJsxToString,\n warn,\n} from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport Step, { Props as StepProps } from '../Step'\nimport WizardContext, {\n OnStepChange,\n OnStepChangeOptions,\n OnStepsChangeMode,\n SetActiveIndexOptions,\n StepIndex,\n Steps,\n WizardContextState,\n} from '../Context/WizardContext'\nimport DataContext, {\n defaultContextState,\n} from '../../DataContext/Context'\nimport Handler from '../../Form/Handler/Handler'\nimport {\n SharedStateReturn,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useHandleLayoutEffect from './useHandleLayoutEffect'\nimport useStepAnimation from './useStepAnimation'\nimport { ComponentProps } from '../../types'\nimport useVisibility from '../../Form/Visibility/useVisibility'\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 id?: string\n\n /**\n * The mode of the wizard.\n */\n mode?: 'static' | 'strict' | 'loose'\n\n /**\n * If set to `true`, the wizard will not scroll to the first step when the user clicks on the next button.\n */\n omitScrollManagement?: boolean\n\n /**\n * If set to `true`, the wizard will not focus on the next step when the user clicks on the next button.\n */\n omitFocusManagement?: boolean\n\n /**\n * The index of the first step to be rendered.\n */\n initialActiveIndex?: StepIndex\n\n /**\n * The callback function that will be called when the user clicks on the next button.\n */\n onStepChange?: OnStepChange\n\n /**\n * The sidebar variant.\n */\n variant?: 'sidebar' | 'drawer'\n sidebarId?: string\n\n /**\n * If set to `true`, the wizard will not animate the steps.\n */\n noAnimation?: boolean\n\n /**\n * If set to `true`, the wizard pre-render all steps so the props of each field is available in the data context.\n * Defaults to `true`.\n */\n prerenderFieldProps?: boolean\n\n /**\n * The children of the wizard container.\n */\n children: React.ReactNode\n\n /**\n * @deprecated Is enabled by default. You can disable it with \"omitScrollManagement\"\n */\n scrollTopOnStepChange?: boolean\n}\n\nfunction WizardContainer(props: Props) {\n const {\n className,\n id: idProp,\n mode = 'strict',\n initialActiveIndex = 0,\n omitScrollManagement,\n omitFocusManagement,\n onStepChange,\n children,\n noAnimation = true,\n prerenderFieldProps = true,\n variant = 'sidebar',\n sidebarId,\n ...rest\n } = props\n\n const dataContext = useContext(DataContext)\n const {\n hasContext,\n setFormState,\n handleSubmitCall,\n setShowAllErrors,\n showAllErrors,\n setSubmitState,\n } = dataContext\n\n const id = useId(idProp)\n const [, forceUpdate] = useReducer(() => ({}), {})\n const activeIndexRef = useRef<StepIndex>(initialActiveIndex)\n const totalStepsRef = useRef<number>(NaN)\n const errorOnStepRef = useRef<Record<StepIndex, boolean | number>>({})\n const elementRef = useRef<HTMLElement>()\n const stepElementRef = useRef<HTMLElement>()\n const preventNextStepRef = useRef(false)\n const stepsRef = useRef<Steps>({})\n const tmpStepsRef = useRef<Steps>({})\n const updateTitlesRef = useRef<() => void>()\n const prerenderFieldPropsRef = useRef<\n Record<string, () => React.ReactElement>\n >({})\n\n // - Handle shared state\n const sharedStateRef =\n useRef<\n SharedStateReturn<\n WizardContextState & { onStepChange?: OnStepChange }\n >\n >()\n sharedStateRef.current = useSharedState<WizardContextState>(\n hasContext && id ? createReferenceKey(id, 'wizard') : undefined\n )\n\n // Store the current state of showAllErrors\n errorOnStepRef.current[activeIndexRef.current] = showAllErrors\n\n const preventNavigation = useCallback((shouldPrevent = true) => {\n preventNextStepRef.current = shouldPrevent\n }, [])\n\n const getStepChangeOptions: (index: StepIndex) => OnStepChangeOptions =\n useCallback(\n (index) => {\n const previousIndex = activeIndexRef.current\n const options = {\n preventNavigation,\n previousStep: { index: previousIndex },\n }\n\n const id = stepsRef.current[index]?.id\n if (id) {\n const previousId = stepsRef.current[previousIndex]?.id\n Object.assign(options, { id })\n Object.assign(options.previousStep, { id: previousId })\n }\n\n return options\n },\n [preventNavigation]\n )\n\n const callOnStepChange = useCallback(\n async (index: StepIndex, mode: OnStepsChangeMode) => {\n if (isAsync(onStepChange)) {\n return await onStepChange(index, mode, getStepChangeOptions(index))\n }\n\n return onStepChange?.(index, mode, getStepChangeOptions(index))\n },\n [getStepChangeOptions, onStepChange]\n )\n\n const { setFocus, scrollToTop, isInteractionRef } =\n useHandleLayoutEffect({ elementRef, stepElementRef })\n\n const executeLayoutAnimationRef = useRef<() => void>()\n useStepAnimation({\n activeIndexRef,\n stepElementRef,\n executeLayoutAnimationRef,\n })\n\n const handleLayoutEffect = useCallback(() => {\n if (!omitFocusManagement) {\n setFocus()\n }\n if (!omitScrollManagement) {\n scrollToTop()\n }\n }, [omitScrollManagement, omitFocusManagement, setFocus, scrollToTop])\n\n const handleStepChange = useCallback(\n ({\n index,\n skipErrorCheck,\n skipStepChangeCall,\n skipStepChangeCallBeforeMounted,\n skipStepChangeCallFromHook,\n mode,\n }: {\n index: StepIndex\n mode: OnStepsChangeMode\n } & SetActiveIndexOptions) => {\n handleSubmitCall({\n skipErrorCheck,\n skipFieldValidation: skipErrorCheck,\n enableAsyncBehavior: isAsync(onStepChange),\n onSubmit: async () => {\n if (!skipStepChangeCallFromHook) {\n sharedStateRef.current?.data?.onStepChange?.(\n index,\n mode,\n getStepChangeOptions(index)\n )\n }\n\n let result = undefined\n\n if (\n !skipStepChangeCall &&\n !(skipStepChangeCallBeforeMounted && !isInteractionRef.current)\n ) {\n result = await callOnStepChange(index, mode)\n }\n\n // Hide async indicator\n setFormState('abort')\n\n if (!skipErrorCheck) {\n // Set the showAllErrors to the step we got to\n setShowAllErrors(Boolean(errorOnStepRef.current[index]))\n }\n\n if (!preventNextStepRef.current && !(result instanceof Error)) {\n handleLayoutEffect()\n\n activeIndexRef.current = index\n forceUpdate()\n }\n\n preventNextStepRef.current = false\n\n return result\n },\n })\n },\n [\n callOnStepChange,\n getStepChangeOptions,\n handleLayoutEffect,\n handleSubmitCall,\n isInteractionRef,\n onStepChange,\n setFormState,\n setShowAllErrors,\n ]\n )\n\n const setActiveIndex = useCallback(\n (index: StepIndex, options?: SetActiveIndexOptions) => {\n if (index === activeIndexRef.current) {\n return\n }\n\n const mode = index > activeIndexRef.current ? 'next' : 'previous'\n\n handleStepChange({\n index,\n skipErrorCheck: mode === 'previous',\n mode,\n ...options,\n })\n },\n [handleStepChange]\n )\n\n const handlePrevious = useCallback(() => {\n setActiveIndex(activeIndexRef.current - 1)\n }, [setActiveIndex])\n\n const handleNext = useCallback(() => {\n setActiveIndex(activeIndexRef.current + 1)\n }, [setActiveIndex])\n\n const handleChange = useCallback(\n ({ current_step }) => {\n setActiveIndex(current_step, { skipErrorCheck: true })\n },\n [setActiveIndex]\n )\n\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n const handleSubmit = useCallback(\n ({ preventSubmit }) => {\n if (activeIndexRef.current + 1 < totalStepsRef.current) {\n handleNext()\n preventSubmit()\n }\n },\n [handleNext]\n )\n dataContext.setHandleSubmit?.(handleSubmit)\n\n const { check } = useVisibility()\n\n const activeIndex = activeIndexRef.current\n const providerValue = useMemo<WizardContextState>(() => {\n return {\n id,\n activeIndex,\n stepElementRef,\n stepsRef,\n updateTitlesRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n check,\n setActiveIndex,\n handlePrevious,\n handleNext,\n setFormError,\n }\n }, [\n activeIndex,\n handleNext,\n handlePrevious,\n id,\n prerenderFieldProps,\n check,\n setActiveIndex,\n setFormError,\n ])\n\n // - Handle shared state\n useLayoutEffect(() => {\n if (id && hasContext) {\n sharedStateRef.current.extend(providerValue)\n }\n }, [hasContext, id, providerValue])\n\n useLayoutEffect(() => {\n updateTitlesRef.current?.()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current])\n\n const stepsLengthDidChange = useCallback(() => {\n const count = Object.keys(stepsRef.current).length\n const tmpCount = Object.keys(tmpStepsRef.current).length\n return count !== 0 && tmpCount !== 0 && count !== tmpCount\n }, [])\n\n // - Call onStepChange when step gets replaced or added (e.g. via activeWhen)\n useLayoutEffect(() => {\n if (stepsLengthDidChange()) {\n callOnStepChange(activeIndexRef.current, 'stepListModified')\n executeLayoutAnimationRef.current?.()\n }\n tmpStepsRef.current = stepsRef.current\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stepsRef.current, callOnStepChange, stepsLengthDidChange])\n\n if (!hasContext) {\n warn('You may wrap Wizard.Container in Form.Handler')\n return (\n <Handler>\n <WizardContainer {...props} id={id} />\n </Handler>\n )\n }\n\n return (\n <WizardContext.Provider value={providerValue}>\n <Space\n className={classnames(\n 'dnb-forms-wizard-layout',\n `dnb-forms-wizard-layout--${variant}`,\n className\n )}\n innerRef={elementRef}\n {...rest}\n >\n <DisplaySteps\n mode={mode}\n variant={variant}\n noAnimation={noAnimation}\n handleChange={handleChange}\n sidebarId={sidebarId}\n />\n\n <div className=\"dnb-forms-wizard-layout__contents\">\n <IterateOverSteps>{children}</IterateOverSteps>\n </div>\n </Space>\n\n {prerenderFieldProps && (\n <PrerenderFieldPropsOfOtherSteps\n prerenderFieldPropsRef={prerenderFieldPropsRef}\n />\n )}\n </WizardContext.Provider>\n )\n}\n\nfunction DisplaySteps({\n mode,\n variant,\n noAnimation,\n handleChange,\n sidebarId,\n}) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n const { id, activeIndexRef, stepsRef, updateTitlesRef } =\n useContext(WizardContext) || {}\n updateTitlesRef.current = () => {\n forceUpdate()\n }\n\n const sidebar_id =\n variant === 'drawer' && !sidebarId ? undefined : sidebarId ?? id\n\n return (\n <aside className=\"dnb-forms-wizard-layout__indicator\">\n <StepIndicator.Sidebar sidebar_id={sidebar_id} />\n <StepIndicator\n bottom\n current_step={activeIndexRef.current}\n data={Object.values(stepsRef.current).map(({ title }) => title)}\n mode={mode}\n no_animation={noAnimation}\n on_change={handleChange}\n sidebar_id={sidebar_id}\n />\n </aside>\n )\n}\n\nfunction IterateOverSteps({ children }) {\n const {\n check,\n stepsRef,\n activeIndexRef,\n totalStepsRef,\n prerenderFieldProps,\n prerenderFieldPropsRef,\n } = useContext(WizardContext)\n\n stepsRef.current = {}\n let incrementIndex = -1\n\n const childrenArray = React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n let step = child\n\n if (child?.type !== Step && typeof child.type === 'function') {\n step = child.type.apply(child.type, [\n child.props,\n ]) as React.ReactElement\n\n if (step?.type === Step) {\n child = step\n }\n }\n\n if (child?.type === Step) {\n if (child.props.active === false) {\n return null\n }\n\n if (\n child.props.activeWhen &&\n !check({ visibleWhen: child.props.activeWhen })\n ) {\n return null\n }\n\n incrementIndex++\n const index = incrementIndex\n\n stepsRef.current[index] = {\n id: child.props.id,\n title:\n child.props.title !== undefined\n ? convertJsxToString(child.props.title)\n : 'Title missing',\n }\n const key = `${index}-${activeIndexRef.current}`\n const clone = (props) =>\n React.cloneElement(child as React.ReactElement<StepProps>, props)\n\n if (\n prerenderFieldProps &&\n typeof document !== 'undefined' &&\n index !== activeIndexRef.current &&\n typeof prerenderFieldPropsRef.current['step-' + index] ===\n 'undefined'\n ) {\n prerenderFieldPropsRef.current['step-' + index] = () =>\n clone({\n key,\n index,\n prerenderFieldProps: true,\n })\n }\n\n return clone({\n key,\n index,\n })\n }\n }\n\n return child\n })\n\n // Ensure we never have a higher index than the available children\n // else we get a white screen\n if (childrenArray?.length === 0) {\n activeIndexRef.current = 0\n } else if (childrenArray?.length < activeIndexRef.current + 1) {\n activeIndexRef.current = childrenArray.length - 1\n }\n\n totalStepsRef.current = childrenArray?.length\n\n return childrenArray\n}\n\nfunction PrerenderFieldPropsOfOtherSteps({\n prerenderFieldPropsRef,\n}: {\n prerenderFieldPropsRef: WizardContextState['prerenderFieldPropsRef']\n}) {\n const hasRenderedRef = useRef(true)\n if (!hasRenderedRef.current) {\n return null\n }\n hasRenderedRef.current = false\n\n return (\n <WizardPortal>\n <PrerenderFieldPropsProvider>\n <iframe title=\"Wizard Prerender\" hidden>\n {Object.values(prerenderFieldPropsRef.current).map((Fn, i) => (\n <Fn key={i} />\n ))}\n </iframe>\n </PrerenderFieldPropsProvider>\n </WizardPortal>\n )\n}\n\nfunction WizardPortal({ children }) {\n if (typeof document !== 'undefined') {\n return ReactDOM.createPortal(children, document.body)\n }\n}\n\nfunction PrerenderFieldPropsProvider({ children }) {\n const { data, setFieldInternals, updateDataValue } =\n useContext(DataContext)\n\n return (\n <DataContext.Provider\n value={{\n ...defaultContextState,\n\n // Only update the props and the data value\n data,\n setFieldInternals,\n updateDataValue,\n prerenderFieldProps: true,\n hasContext: true,\n }}\n >\n <WizardContext.Provider value={{ prerenderFieldProps: true }}>\n {children}\n </WizardContext.Provider>\n </DataContext.Provider>\n )\n}\n\nWizardContainer._supportsSpacingProps = true\n\nexport default WizardContainer\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export default function useExternalValue(props) {
|
|
|
8
8
|
const {
|
|
9
9
|
path,
|
|
10
10
|
itemPath,
|
|
11
|
-
value,
|
|
11
|
+
value = undefined,
|
|
12
12
|
transformers,
|
|
13
13
|
emptyValue = undefined
|
|
14
14
|
} = props;
|
|
@@ -21,7 +21,7 @@ export default function useExternalValue(props) {
|
|
|
21
21
|
value: iterateElementValue
|
|
22
22
|
} = iterateItemContext || {};
|
|
23
23
|
return useMemo(() => {
|
|
24
|
-
if (value !== emptyValue) {
|
|
24
|
+
if (value !== undefined && value !== emptyValue) {
|
|
25
25
|
var _transformers$current, _transformers$current2, _transformers$current3;
|
|
26
26
|
return (_transformers$current = transformers === null || transformers === void 0 ? void 0 : (_transformers$current2 = transformers.current) === null || _transformers$current2 === void 0 ? void 0 : (_transformers$current3 = _transformers$current2.fromExternal) === null || _transformers$current3 === void 0 ? void 0 : _transformers$current3.call(_transformers$current2, value)) !== null && _transformers$current !== void 0 ? _transformers$current : emptyValue;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExternalValue.js","names":["useContext","useMemo","pointer","DataContext","IterateItemContext","useExternalValue","props","path","itemPath","value","
|
|
1
|
+
{"version":3,"file":"useExternalValue.js","names":["useContext","useMemo","pointer","DataContext","IterateItemContext","useExternalValue","props","path","itemPath","value","undefined","transformers","emptyValue","data","iterateItemContext","inIterate","Boolean","iterateElementValue","_transformers$current","_transformers$current2","_transformers$current3","current","fromExternal","call","_transformers$current4","_transformers$current5","_transformers$current6","has","_transformers$current7","_transformers$current8","_transformers$current9","get","_transformers$current10","_transformers$current11","_transformers$current12","_transformers$current13","_transformers$current14","_transformers$current15"],"sources":["../../../../../src/extensions/forms/hooks/useExternalValue.ts"],"sourcesContent":["import { useContext, useMemo } from 'react'\nimport pointer from '../utils/json-pointer'\nimport { FieldProps, Path } from '../types'\nimport DataContext from '../DataContext/Context'\nimport IterateItemContext from '../Iterate/IterateItemContext'\n\nexport type Props<Value> = {\n path?: Path | undefined\n itemPath?: Path\n value?: Value\n transformers?: React.MutableRefObject<{\n fromExternal: FieldProps<Value>['fromExternal']\n }>\n emptyValue?: FieldProps<Value>['emptyValue']\n}\n\nexport default function useExternalValue<Value>(props: Props<Value>) {\n const {\n path,\n itemPath,\n value = undefined,\n transformers,\n emptyValue = undefined,\n } = props\n const { data } = useContext(DataContext) || {}\n const iterateItemContext = useContext(IterateItemContext)\n const inIterate = Boolean(iterateItemContext)\n const { value: iterateElementValue } = iterateItemContext || {}\n\n return useMemo(() => {\n if (value !== undefined && value !== emptyValue) {\n // Value-prop sent directly to the field has highest priority, overriding any surrounding source\n return transformers?.current?.fromExternal?.(value) ?? emptyValue\n }\n\n if (inIterate && itemPath) {\n // This field is inside an iterate, and has a pointer from the base of the element being iterated\n if (itemPath === '/') {\n return (\n transformers?.current?.fromExternal?.(\n iterateElementValue as Value\n ) ?? emptyValue\n )\n }\n\n if (pointer.has(iterateElementValue, itemPath)) {\n return (\n transformers?.current?.fromExternal?.(\n pointer.get(iterateElementValue, itemPath) as Value\n ) ?? emptyValue\n )\n }\n }\n\n if (data && path) {\n // There is a surrounding data context and a path for where in the source to find the data\n if (path === '/') {\n return transformers?.current?.fromExternal?.(data) ?? emptyValue\n }\n\n if (pointer.has(data, path)) {\n return (\n transformers?.current?.fromExternal?.(pointer.get(data, path)) ??\n emptyValue\n )\n }\n }\n\n return emptyValue\n }, [\n data,\n emptyValue,\n inIterate,\n itemPath,\n iterateElementValue,\n path,\n transformers,\n value,\n ])\n}\n"],"mappings":"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"}
|
|
@@ -187,7 +187,7 @@ export default function useFieldProps(localProps, {
|
|
|
187
187
|
itemPath,
|
|
188
188
|
value: valueProp,
|
|
189
189
|
transformers,
|
|
190
|
-
emptyValue
|
|
190
|
+
emptyValue: defaultValue ? undefined : emptyValue
|
|
191
191
|
});
|
|
192
192
|
const externalValueDeps = tmpValue;
|
|
193
193
|
const externalValue = transformers.current.transformIn(tmpValue !== null && tmpValue !== void 0 ? tmpValue : defaultValueRef.current);
|
|
@@ -606,11 +606,6 @@ export default function useFieldProps(localProps, {
|
|
|
606
606
|
const setChanged = useCallback(state => {
|
|
607
607
|
changedRef.current = state;
|
|
608
608
|
}, []);
|
|
609
|
-
const removeError = useCallback(() => {
|
|
610
|
-
setChanged(false);
|
|
611
|
-
hideError();
|
|
612
|
-
clearErrorState();
|
|
613
|
-
}, [clearErrorState, hideError, setChanged]);
|
|
614
609
|
const validatorCacheRef = useRef({
|
|
615
610
|
onChangeValidator: null,
|
|
616
611
|
onBlurValidator: null
|
|
@@ -833,6 +828,12 @@ export default function useFieldProps(localProps, {
|
|
|
833
828
|
}
|
|
834
829
|
}
|
|
835
830
|
}, [clearErrorState, disabled, emptyValue, hideError, persistErrorState, prioritizeContextSchema, required, setFieldState, startOnBlurValidatorProcess, startOnChangeValidatorValidation, startProcess, validateInitially, validateUnchanged]);
|
|
831
|
+
const removeError = useCallback(() => {
|
|
832
|
+
setChanged(false);
|
|
833
|
+
hideError();
|
|
834
|
+
clearErrorState();
|
|
835
|
+
validateValue();
|
|
836
|
+
}, [clearErrorState, hideError, setChanged, validateValue]);
|
|
836
837
|
const handleError = useCallback(() => {
|
|
837
838
|
if (validateContinuously || validateContinuously !== false && !hasFocusRef.current) {
|
|
838
839
|
revealError();
|
|
@@ -914,19 +915,19 @@ export default function useFieldProps(localProps, {
|
|
|
914
915
|
});
|
|
915
916
|
}, [setFieldState]);
|
|
916
917
|
const handleChangeEventResult = useCallback(async () => {
|
|
917
|
-
const result = changeEventResultRef.current;
|
|
918
|
-
if (
|
|
919
|
-
if (
|
|
918
|
+
const result = changeEventResultRef.current || {};
|
|
919
|
+
if ('error' in result) {
|
|
920
|
+
if (!result.error) {
|
|
920
921
|
removeError();
|
|
921
922
|
} else {
|
|
922
923
|
persistErrorState('gracefully', 'onChangeValidator', result.error);
|
|
923
924
|
revealError();
|
|
924
925
|
}
|
|
925
926
|
}
|
|
926
|
-
if (
|
|
927
|
+
if ('warning' in result) {
|
|
927
928
|
warningRef.current = result.warning;
|
|
928
929
|
}
|
|
929
|
-
if (
|
|
930
|
+
if ('info' in result) {
|
|
930
931
|
infoRef.current = result.info;
|
|
931
932
|
}
|
|
932
933
|
if (asyncBehaviorIsEnabled) {
|
|
@@ -1005,7 +1006,7 @@ export default function useFieldProps(localProps, {
|
|
|
1005
1006
|
await runPool(() => {
|
|
1006
1007
|
handleError();
|
|
1007
1008
|
});
|
|
1008
|
-
}, [emptyValue, additionalArgs, hasPath, itemPath, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handlePathChangeUnvalidatedDataContext, identifier, handleChangeIterateContext, makeIteratePath, handleError]);
|
|
1009
|
+
}, [emptyValue, additionalArgs, hasPath, itemPath, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handlePathChangeUnvalidatedDataContext, nestedIteratePath, identifier, handleChangeIterateContext, makeIteratePath, handleError]);
|
|
1009
1010
|
const setDisplayValue = useCallback((content, fieldPath = itemPath ? identifier : path) => {
|
|
1010
1011
|
if (!fieldPath || !(fieldDisplayValueRef !== null && fieldDisplayValueRef !== void 0 && fieldDisplayValueRef.current)) {
|
|
1011
1012
|
return;
|
|
@@ -1153,10 +1154,13 @@ export default function useFieldProps(localProps, {
|
|
|
1153
1154
|
useUpdateEffect(() => {
|
|
1154
1155
|
if (externalValueDidChangeRef.current) {
|
|
1155
1156
|
externalValueDidChangeRef.current = false;
|
|
1157
|
+
if (!validateContinuously && valueRef.current === emptyValue) {
|
|
1158
|
+
hideError();
|
|
1159
|
+
}
|
|
1156
1160
|
validateValue();
|
|
1157
1161
|
forceUpdate();
|
|
1158
1162
|
}
|
|
1159
|
-
}, [externalValueDeps]);
|
|
1163
|
+
}, [externalValueDeps, emptyValue, validateContinuously]);
|
|
1160
1164
|
useEffect(() => {
|
|
1161
1165
|
if (!localErrorInitiatorRef.current) {
|
|
1162
1166
|
const error = prepareError(dataContextError);
|
|
@@ -1178,7 +1182,7 @@ export default function useFieldProps(localProps, {
|
|
|
1178
1182
|
if (!hasPath && !hasItemPath) {
|
|
1179
1183
|
return;
|
|
1180
1184
|
}
|
|
1181
|
-
let valueToStore = valueProp
|
|
1185
|
+
let valueToStore = valueProp;
|
|
1182
1186
|
const data = wizardContext !== null && wizardContext !== void 0 && wizardContext.prerenderFieldProps ? dataContext.data : (_dataContext$internal = dataContext.internalDataRef) === null || _dataContext$internal === void 0 ? void 0 : _dataContext$internal.current;
|
|
1183
1187
|
const storePath = nestedIteratePath ? makeIteratePath(itemPath, nestedIteratePath) : identifier;
|
|
1184
1188
|
const hasValue = pointer.has(data, storePath) || storePath === '/';
|
|
@@ -1197,6 +1201,8 @@ export default function useFieldProps(localProps, {
|
|
|
1197
1201
|
if (hasDefaultValue) {
|
|
1198
1202
|
valueToStore = defaultValueRef.current;
|
|
1199
1203
|
defaultValueRef.current = undefined;
|
|
1204
|
+
} else if (!hasValue && typeof valueToStore === 'undefined') {
|
|
1205
|
+
valueToStore = emptyValue;
|
|
1200
1206
|
}
|
|
1201
1207
|
let skipEqualCheck = false;
|
|
1202
1208
|
if (hasItemPath) {
|
|
@@ -1353,9 +1359,10 @@ export default function useFieldProps(localProps, {
|
|
|
1353
1359
|
}
|
|
1354
1360
|
const connections = useMemo(() => {
|
|
1355
1361
|
return {
|
|
1356
|
-
setEventResult
|
|
1362
|
+
setEventResult,
|
|
1363
|
+
emptyValue
|
|
1357
1364
|
};
|
|
1358
|
-
}, [setEventResult]);
|
|
1365
|
+
}, [emptyValue, setEventResult]);
|
|
1359
1366
|
setFieldConnectionDataContext === null || setFieldConnectionDataContext === void 0 ? void 0 : setFieldConnectionDataContext(identifier, connections);
|
|
1360
1367
|
const htmlAttributes = useMemo(() => {
|
|
1361
1368
|
return Object.keys(props).reduce((acc, cur) => {
|