@dnb/eufemia 10.63.0 → 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 +17 -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/elements/typography/style/_dnb-t.scss +1 -1
- 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 +25 -10
- 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/elements/typography/style/_dnb-t.scss +1 -1
- 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/elements/typography/style/_dnb-t.scss +1 -1
- 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 +25 -10
- 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 +2 -2
- 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 +25 -10
- 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 +1 -1
- 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","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) => {
|