@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.
Files changed (159) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/components/modal/Modal.d.ts +2 -1
  3. package/cjs/components/modal/Modal.js +10 -4
  4. package/cjs/components/modal/Modal.js.map +1 -1
  5. package/cjs/components/modal/ModalContent.d.ts +10 -8
  6. package/cjs/components/modal/ModalContent.js +48 -23
  7. package/cjs/components/modal/ModalContent.js.map +1 -1
  8. package/cjs/components/modal/ModalRoot.d.ts +2 -0
  9. package/cjs/components/modal/ModalRoot.js.map +1 -1
  10. package/cjs/components/modal/types.d.ts +11 -3
  11. package/cjs/components/modal/types.js.map +1 -1
  12. package/cjs/elements/code/style/code-mixins.scss +4 -0
  13. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  14. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  15. package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
  16. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  17. package/cjs/extensions/forms/Form/data-context/useValidation.js +1 -1
  18. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  19. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  20. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  21. package/cjs/extensions/forms/hooks/useExternalValue.js +2 -2
  22. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  23. package/cjs/extensions/forms/hooks/useFieldProps.js +23 -16
  24. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  25. package/cjs/shared/Eufemia.d.ts +1 -1
  26. package/cjs/shared/Eufemia.js +2 -2
  27. package/cjs/shared/Eufemia.js.map +1 -1
  28. package/cjs/style/core/scopes.scss +1 -1
  29. package/cjs/style/dnb-ui-basis.css +1 -1
  30. package/cjs/style/dnb-ui-basis.min.css +1 -1
  31. package/cjs/style/dnb-ui-body.css +1 -1
  32. package/cjs/style/dnb-ui-body.min.css +1 -1
  33. package/cjs/style/dnb-ui-core.css +1 -1
  34. package/cjs/style/dnb-ui-core.min.css +1 -1
  35. package/cjs/style/dnb-ui-elements.css +3 -0
  36. package/cjs/style/dnb-ui-elements.min.css +1 -1
  37. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  38. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  39. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  40. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  41. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  42. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  43. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  44. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  45. package/cjs/style/themes/theme-ui/ui-theme-basis.css +3 -0
  46. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  47. package/cjs/style/themes/theme-ui/ui-theme-elements.css +3 -0
  48. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  49. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  50. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  51. package/components/modal/Modal.d.ts +2 -1
  52. package/components/modal/Modal.js +10 -4
  53. package/components/modal/Modal.js.map +1 -1
  54. package/components/modal/ModalContent.d.ts +10 -8
  55. package/components/modal/ModalContent.js +48 -23
  56. package/components/modal/ModalContent.js.map +1 -1
  57. package/components/modal/ModalRoot.d.ts +2 -0
  58. package/components/modal/ModalRoot.js.map +1 -1
  59. package/components/modal/types.d.ts +11 -3
  60. package/components/modal/types.js.map +1 -1
  61. package/elements/code/style/code-mixins.scss +4 -0
  62. package/es/components/modal/Modal.d.ts +2 -1
  63. package/es/components/modal/Modal.js +10 -4
  64. package/es/components/modal/Modal.js.map +1 -1
  65. package/es/components/modal/ModalContent.d.ts +10 -8
  66. package/es/components/modal/ModalContent.js +44 -20
  67. package/es/components/modal/ModalContent.js.map +1 -1
  68. package/es/components/modal/ModalRoot.d.ts +2 -0
  69. package/es/components/modal/ModalRoot.js.map +1 -1
  70. package/es/components/modal/types.d.ts +11 -3
  71. package/es/components/modal/types.js.map +1 -1
  72. package/es/elements/code/style/code-mixins.scss +4 -0
  73. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  74. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  75. package/es/extensions/forms/DataContext/Provider/Provider.js +2 -2
  76. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/es/extensions/forms/Form/data-context/useValidation.js +1 -1
  78. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  79. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  80. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  81. package/es/extensions/forms/hooks/useExternalValue.js +2 -2
  82. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  83. package/es/extensions/forms/hooks/useFieldProps.js +23 -16
  84. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  85. package/es/shared/Eufemia.d.ts +1 -1
  86. package/es/shared/Eufemia.js +2 -2
  87. package/es/shared/Eufemia.js.map +1 -1
  88. package/es/style/core/scopes.scss +1 -1
  89. package/es/style/dnb-ui-basis.css +1 -1
  90. package/es/style/dnb-ui-basis.min.css +1 -1
  91. package/es/style/dnb-ui-body.css +1 -1
  92. package/es/style/dnb-ui-body.min.css +1 -1
  93. package/es/style/dnb-ui-core.css +1 -1
  94. package/es/style/dnb-ui-core.min.css +1 -1
  95. package/es/style/dnb-ui-elements.css +3 -0
  96. package/es/style/dnb-ui-elements.min.css +1 -1
  97. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  98. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  99. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  100. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  101. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  102. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  103. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  104. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  105. package/es/style/themes/theme-ui/ui-theme-basis.css +3 -0
  106. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  107. package/es/style/themes/theme-ui/ui-theme-elements.css +3 -0
  108. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  109. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  110. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  111. package/esm/dnb-ui-basis.min.mjs +1 -1
  112. package/esm/dnb-ui-components.min.mjs +1 -1
  113. package/esm/dnb-ui-elements.min.mjs +1 -1
  114. package/esm/dnb-ui-extensions.min.mjs +1 -1
  115. package/esm/dnb-ui-lib.min.mjs +1 -1
  116. package/extensions/forms/DataContext/Context.d.ts +1 -1
  117. package/extensions/forms/DataContext/Context.js.map +1 -1
  118. package/extensions/forms/DataContext/Provider/Provider.js +2 -2
  119. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  120. package/extensions/forms/Form/data-context/useValidation.js +1 -1
  121. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  122. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  123. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  124. package/extensions/forms/hooks/useExternalValue.js +2 -2
  125. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  126. package/extensions/forms/hooks/useFieldProps.js +23 -16
  127. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  128. package/package.json +1 -1
  129. package/shared/Eufemia.d.ts +1 -1
  130. package/shared/Eufemia.js +2 -2
  131. package/shared/Eufemia.js.map +1 -1
  132. package/style/core/scopes.scss +1 -1
  133. package/style/dnb-ui-basis.css +1 -1
  134. package/style/dnb-ui-basis.min.css +1 -1
  135. package/style/dnb-ui-body.css +1 -1
  136. package/style/dnb-ui-body.min.css +1 -1
  137. package/style/dnb-ui-core.css +1 -1
  138. package/style/dnb-ui-core.min.css +1 -1
  139. package/style/dnb-ui-elements.css +3 -0
  140. package/style/dnb-ui-elements.min.css +1 -1
  141. package/style/themes/theme-eiendom/eiendom-theme-basis.css +3 -0
  142. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  143. package/style/themes/theme-eiendom/eiendom-theme-elements.css +3 -0
  144. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  145. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -0
  146. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  147. package/style/themes/theme-sbanken/sbanken-theme-elements.css +3 -0
  148. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  149. package/style/themes/theme-ui/ui-theme-basis.css +3 -0
  150. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  151. package/style/themes/theme-ui/ui-theme-elements.css +3 -0
  152. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  153. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  154. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  155. package/umd/dnb-ui-basis.min.js +1 -1
  156. package/umd/dnb-ui-components.min.js +1 -1
  157. package/umd/dnb-ui-elements.min.js +1 -1
  158. package/umd/dnb-ui-extensions.min.js +2 -2
  159. 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","transformers","emptyValue","undefined","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,\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 !== 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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"}
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 (typeof (result === null || result === void 0 ? void 0 : result.error) !== 'undefined') {
940
- if ((result === null || result === void 0 ? void 0 : result.error) === null) {
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 (typeof (result === null || result === void 0 ? void 0 : result.warning) !== 'undefined') {
948
+ if ('warning' in result) {
948
949
  warningRef.current = result.warning;
949
950
  }
950
- if (typeof (result === null || result === void 0 ? void 0 : result.info) !== 'undefined') {
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 !== null && valueProp !== void 0 ? valueProp : emptyValue;
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) => {