@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":"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","arguments","length","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","sidebar_id","Sidebar","bottom","values","map","_ref5","title","no_animation","on_change","_ref6","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","key","clone","cloneElement","document","_ref7","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref8","createPortal","body","_ref9","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","arguments","length","getStepChangeOptions","index","_stepsRef$current$ind","previousIndex","options","previousStep","_stepsRef$current$pre","previousId","Object","assign","callOnStepChange","setFocus","scrollToTop","isInteractionRef","executeLayoutAnimationRef","handleLayoutEffect","handleStepChange","_ref","skipErrorCheck","skipStepChangeCall","skipStepChangeCallBeforeMounted","skipStepChangeCallFromHook","skipFieldValidation","enableAsyncBehavior","onSubmit","_sharedStateRef$curre","_sharedStateRef$curre2","_sharedStateRef$curre3","data","call","result","Boolean","Error","setActiveIndex","_objectSpread","handlePrevious","handleNext","handleChange","_ref2","current_step","setFormError","error","handleSubmit","_ref3","preventSubmit","setHandleSubmit","check","activeIndex","providerValue","extend","_updateTitlesRef$curr","stepsLengthDidChange","count","keys","tmpCount","_executeLayoutAnimati","createElement","_extends","Provider","value","innerRef","DisplaySteps","IterateOverSteps","PrerenderFieldPropsOfOtherSteps","_ref4","sidebar_id","Sidebar","bottom","values","map","_ref5","title","no_animation","on_change","_ref6","incrementIndex","childrenArray","Children","child","isValidElement","_child","_child2","step","type","_step","apply","active","activeWhen","visibleWhen","key","clone","cloneElement","document","_ref7","hasRenderedRef","WizardPortal","PrerenderFieldPropsProvider","hidden","Fn","i","_ref8","createPortal","body","_ref9","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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"}
|
|
@@ -196,7 +196,7 @@ export default function useFieldProps(localProps) {
|
|
|
196
196
|
itemPath,
|
|
197
197
|
value: valueProp,
|
|
198
198
|
transformers,
|
|
199
|
-
emptyValue
|
|
199
|
+
emptyValue: defaultValue ? undefined : emptyValue
|
|
200
200
|
});
|
|
201
201
|
const externalValueDeps = tmpValue;
|
|
202
202
|
const externalValue = transformers.current.transformIn(tmpValue !== null && tmpValue !== void 0 ? tmpValue : defaultValueRef.current);
|
|
@@ -620,11 +620,6 @@ export default function useFieldProps(localProps) {
|
|
|
620
620
|
const setChanged = useCallback(state => {
|
|
621
621
|
changedRef.current = state;
|
|
622
622
|
}, []);
|
|
623
|
-
const removeError = useCallback(() => {
|
|
624
|
-
setChanged(false);
|
|
625
|
-
hideError();
|
|
626
|
-
clearErrorState();
|
|
627
|
-
}, [clearErrorState, hideError, setChanged]);
|
|
628
623
|
const validatorCacheRef = useRef({
|
|
629
624
|
onChangeValidator: null,
|
|
630
625
|
onBlurValidator: null
|
|
@@ -851,6 +846,12 @@ export default function useFieldProps(localProps) {
|
|
|
851
846
|
}
|
|
852
847
|
}
|
|
853
848
|
}, [clearErrorState, disabled, emptyValue, hideError, persistErrorState, prioritizeContextSchema, required, setFieldState, startOnBlurValidatorProcess, startOnChangeValidatorValidation, startProcess, validateInitially, validateUnchanged]);
|
|
849
|
+
const removeError = useCallback(() => {
|
|
850
|
+
setChanged(false);
|
|
851
|
+
hideError();
|
|
852
|
+
clearErrorState();
|
|
853
|
+
validateValue();
|
|
854
|
+
}, [clearErrorState, hideError, setChanged, validateValue]);
|
|
854
855
|
const handleError = useCallback(() => {
|
|
855
856
|
if (validateContinuously || validateContinuously !== false && !hasFocusRef.current) {
|
|
856
857
|
revealError();
|
|
@@ -935,19 +936,19 @@ export default function useFieldProps(localProps) {
|
|
|
935
936
|
});
|
|
936
937
|
}, [setFieldState]);
|
|
937
938
|
const handleChangeEventResult = useCallback(async () => {
|
|
938
|
-
const result = changeEventResultRef.current;
|
|
939
|
-
if (
|
|
940
|
-
if (
|
|
939
|
+
const result = changeEventResultRef.current || {};
|
|
940
|
+
if ('error' in result) {
|
|
941
|
+
if (!result.error) {
|
|
941
942
|
removeError();
|
|
942
943
|
} else {
|
|
943
944
|
persistErrorState('gracefully', 'onChangeValidator', result.error);
|
|
944
945
|
revealError();
|
|
945
946
|
}
|
|
946
947
|
}
|
|
947
|
-
if (
|
|
948
|
+
if ('warning' in result) {
|
|
948
949
|
warningRef.current = result.warning;
|
|
949
950
|
}
|
|
950
|
-
if (
|
|
951
|
+
if ('info' in result) {
|
|
951
952
|
infoRef.current = result.info;
|
|
952
953
|
}
|
|
953
954
|
if (asyncBehaviorIsEnabled) {
|
|
@@ -1026,7 +1027,7 @@ export default function useFieldProps(localProps) {
|
|
|
1026
1027
|
await runPool(() => {
|
|
1027
1028
|
handleError();
|
|
1028
1029
|
});
|
|
1029
|
-
}, [emptyValue, additionalArgs, hasPath, itemPath, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handlePathChangeUnvalidatedDataContext, identifier, handleChangeIterateContext, makeIteratePath, handleError]);
|
|
1030
|
+
}, [emptyValue, additionalArgs, hasPath, itemPath, addToPool, validateValue, callOnChangeContext, onChangeContext, runPool, handlePathChangeUnvalidatedDataContext, nestedIteratePath, identifier, handleChangeIterateContext, makeIteratePath, handleError]);
|
|
1030
1031
|
const setDisplayValue = useCallback(function (content) {
|
|
1031
1032
|
let fieldPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : itemPath ? identifier : path;
|
|
1032
1033
|
if (!fieldPath || !(fieldDisplayValueRef !== null && fieldDisplayValueRef !== void 0 && fieldDisplayValueRef.current)) {
|
|
@@ -1176,10 +1177,13 @@ export default function useFieldProps(localProps) {
|
|
|
1176
1177
|
useUpdateEffect(() => {
|
|
1177
1178
|
if (externalValueDidChangeRef.current) {
|
|
1178
1179
|
externalValueDidChangeRef.current = false;
|
|
1180
|
+
if (!validateContinuously && valueRef.current === emptyValue) {
|
|
1181
|
+
hideError();
|
|
1182
|
+
}
|
|
1179
1183
|
validateValue();
|
|
1180
1184
|
forceUpdate();
|
|
1181
1185
|
}
|
|
1182
|
-
}, [externalValueDeps]);
|
|
1186
|
+
}, [externalValueDeps, emptyValue, validateContinuously]);
|
|
1183
1187
|
useEffect(() => {
|
|
1184
1188
|
if (!localErrorInitiatorRef.current) {
|
|
1185
1189
|
const error = prepareError(dataContextError);
|
|
@@ -1202,7 +1206,7 @@ export default function useFieldProps(localProps) {
|
|
|
1202
1206
|
if (!hasPath && !hasItemPath) {
|
|
1203
1207
|
return;
|
|
1204
1208
|
}
|
|
1205
|
-
let valueToStore = valueProp
|
|
1209
|
+
let valueToStore = valueProp;
|
|
1206
1210
|
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;
|
|
1207
1211
|
const storePath = nestedIteratePath ? makeIteratePath(itemPath, nestedIteratePath) : identifier;
|
|
1208
1212
|
const hasValue = pointer.has(data, storePath) || storePath === '/';
|
|
@@ -1221,6 +1225,8 @@ export default function useFieldProps(localProps) {
|
|
|
1221
1225
|
if (hasDefaultValue) {
|
|
1222
1226
|
valueToStore = defaultValueRef.current;
|
|
1223
1227
|
defaultValueRef.current = undefined;
|
|
1228
|
+
} else if (!hasValue && typeof valueToStore === 'undefined') {
|
|
1229
|
+
valueToStore = emptyValue;
|
|
1224
1230
|
}
|
|
1225
1231
|
let skipEqualCheck = false;
|
|
1226
1232
|
if (hasItemPath) {
|
|
@@ -1377,9 +1383,10 @@ export default function useFieldProps(localProps) {
|
|
|
1377
1383
|
}
|
|
1378
1384
|
const connections = useMemo(() => {
|
|
1379
1385
|
return {
|
|
1380
|
-
setEventResult
|
|
1386
|
+
setEventResult,
|
|
1387
|
+
emptyValue
|
|
1381
1388
|
};
|
|
1382
|
-
}, [setEventResult]);
|
|
1389
|
+
}, [emptyValue, setEventResult]);
|
|
1383
1390
|
setFieldConnectionDataContext === null || setFieldConnectionDataContext === void 0 ? void 0 : setFieldConnectionDataContext(identifier, connections);
|
|
1384
1391
|
const htmlAttributes = useMemo(() => {
|
|
1385
1392
|
return Object.keys(props).reduce((acc, cur) => {
|