@dnb/eufemia 10.40.0 → 10.41.0
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 +29 -0
- package/cjs/components/upload/Upload.d.ts +1 -0
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadDocs.d.ts +3 -0
- package/cjs/components/upload/UploadDocs.js +58 -0
- package/cjs/components/upload/UploadDocs.js.map +1 -0
- package/cjs/components/upload/UploadDropzone.js +22 -19
- package/cjs/components/upload/UploadDropzone.js.map +1 -1
- package/cjs/components/upload/UploadInfo.js +5 -4
- package/cjs/components/upload/UploadInfo.js.map +1 -1
- package/cjs/components/upload/UploadVerify.d.ts +1 -0
- package/cjs/components/upload/UploadVerify.js +2 -0
- package/cjs/components/upload/UploadVerify.js.map +1 -1
- package/cjs/components/upload/types.d.ts +2 -1
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/components/upload/useUpload.js +9 -8
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +4 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js +3 -3
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +2 -2
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.js +2 -2
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -6
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +12 -0
- package/cjs/extensions/forms/Field/Upload/Upload.js +132 -0
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -0
- package/cjs/extensions/forms/Field/Upload/UploadDocs.d.ts +3 -0
- package/cjs/extensions/forms/Field/Upload/UploadDocs.js +20 -0
- package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Upload/index.d.ts +2 -0
- package/cjs/extensions/forms/Field/Upload/index.js +27 -0
- package/cjs/extensions/forms/Field/Upload/index.js.map +1 -0
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +4 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +3 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/types.d.ts +8 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/Translation.d.ts +1 -1
- package/cjs/shared/Translation.js +5 -3
- package/cjs/shared/Translation.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/components/upload/Upload.d.ts +1 -0
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadDocs.d.ts +3 -0
- package/components/upload/UploadDocs.js +50 -0
- package/components/upload/UploadDocs.js.map +1 -0
- package/components/upload/UploadDropzone.js +21 -19
- package/components/upload/UploadDropzone.js.map +1 -1
- package/components/upload/UploadInfo.js +5 -4
- package/components/upload/UploadInfo.js.map +1 -1
- package/components/upload/UploadVerify.d.ts +1 -0
- package/components/upload/UploadVerify.js +1 -1
- package/components/upload/UploadVerify.js.map +1 -1
- package/components/upload/types.d.ts +2 -1
- package/components/upload/types.js.map +1 -1
- package/components/upload/useUpload.js +9 -8
- package/components/upload/useUpload.js.map +1 -1
- package/es/components/upload/Upload.d.ts +1 -0
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadDocs.d.ts +3 -0
- package/es/components/upload/UploadDocs.js +50 -0
- package/es/components/upload/UploadDocs.js.map +1 -0
- package/es/components/upload/UploadDropzone.js +21 -19
- package/es/components/upload/UploadDropzone.js.map +1 -1
- package/es/components/upload/UploadInfo.js +5 -4
- package/es/components/upload/UploadInfo.js.map +1 -1
- package/es/components/upload/UploadVerify.d.ts +1 -0
- package/es/components/upload/UploadVerify.js +1 -1
- package/es/components/upload/UploadVerify.js.map +1 -1
- package/es/components/upload/types.d.ts +2 -1
- package/es/components/upload/types.js.map +1 -1
- package/es/components/upload/useUpload.js +9 -8
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +4 -4
- package/es/extensions/forms/Field/Selection/Selection.js +3 -3
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.js +2 -2
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/Field/String/String.js +2 -2
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +6 -6
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +12 -0
- package/es/extensions/forms/Field/Upload/Upload.js +118 -0
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -0
- package/es/extensions/forms/Field/Upload/UploadDocs.d.ts +3 -0
- package/es/extensions/forms/Field/Upload/UploadDocs.js +10 -0
- package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -0
- package/es/extensions/forms/Field/Upload/index.d.ts +2 -0
- package/es/extensions/forms/Field/Upload/index.js +3 -0
- package/es/extensions/forms/Field/Upload/index.js.map +1 -0
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/es/extensions/forms/FieldBlock/FieldBlock.js +4 -2
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +2 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js +4 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/es/extensions/forms/constants/locales/index.d.ts +8 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +3 -1
- package/es/extensions/forms/hooks/useFieldProps.js +14 -10
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/types.d.ts +8 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js +1 -1
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/Translation.d.ts +1 -1
- package/es/shared/Translation.js +3 -3
- package/es/shared/Translation.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Composition/Composition.d.ts +2 -2
- package/extensions/forms/Field/Composition/Composition.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +4 -4
- package/extensions/forms/Field/Selection/Selection.js +3 -3
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.js +2 -2
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/Field/String/String.js +2 -2
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +6 -6
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Toggle/ToggleDocs.js +5 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +12 -0
- package/extensions/forms/Field/Upload/Upload.js +120 -0
- package/extensions/forms/Field/Upload/Upload.js.map +1 -0
- package/extensions/forms/Field/Upload/UploadDocs.d.ts +3 -0
- package/extensions/forms/Field/Upload/UploadDocs.js +10 -0
- package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -0
- package/extensions/forms/Field/Upload/index.d.ts +2 -0
- package/extensions/forms/Field/Upload/index.js +3 -0
- package/extensions/forms/Field/Upload/index.js.map +1 -0
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -0
- package/extensions/forms/FieldBlock/FieldBlock.js +4 -2
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +2 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
- package/extensions/forms/constants/locales/en-GB.js +4 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +4 -0
- package/extensions/forms/constants/locales/index.d.ts +8 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
- package/extensions/forms/constants/locales/nb-NO.js +4 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +3 -1
- package/extensions/forms/hooks/useFieldProps.js +14 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/types.d.ts +8 -3
- package/extensions/forms/types.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js +1 -1
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/Translation.d.ts +1 -1
- package/shared/Translation.js +3 -3
- package/shared/Translation.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","IterateElementContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","warn","useId","useUnmountEffect","FormError","SubmitIndicator","createSharedState","useTranslation","states","FieldBlock","props","dataContext","nestedFieldBlockContext","sharedData","forId","id","_Object$assign","Object","assign","data","className","layout","composition","label","labelProp","labelDescription","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","_objectWithoutProperties","_excluded","iterateElementContext","index","iterateIndex","blockId","wasUpdated","forceUpdate","mountedFieldsRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","Boolean","undefined","replace","String","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","i","arr","length","text","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","space","top","bottom","size","prerenderFieldProps","Provider","value","hasErrorProp","_extends","LabelDescription","ref","result","count","child","_child$props","_child$type","translations","Field","Fragment","errorSummary","stateSummary","key","Error","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(props.forId || props.id)\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateElementContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateElementContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IACVC,OAAO,EACPC,UAAU,EACVC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,SAAS,QACJ,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,iBAAiB,MAWjB,qBAAqB;AAC5B,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,qBAAqB,MAAM,kCAAkC;AACpE,SAASC,KAAK,EAAEC,SAAS,EAAEC,UAAU,QAAQ,qBAAqB;AAClE,SAASC,EAAE,EAAEC,EAAE,QAAQ,mBAAmB;AAC1C,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,IAAI,QACC,kCAAkC;AACzC,OAAOC,KAAK,MAAM,+BAA+B;AACjD,OAAOC,gBAAgB,MAAM,0CAA0C;AACvE,SAGEC,SAAS,QAIJ,UAAU;AAEjB,OAAOC,eAAe,MAAM,yCAAyC;AACrE,SAASC,iBAAiB,QAAQ,wCAAwC;AAC1E,OAAOC,cAAc,MAAM,yBAAyB;AAEpD,OAAO,MAAMC,MAAyB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;AAkCrE,SAASC,UAAUA,CAACC,KAAY,EAAE;EAChC,MAAMC,WAAW,GAAG1B,UAAU,CAACO,WAAW,CAAC;EAC3C,MAAMoB,uBAAuB,GAAG3B,UAAU,CAACM,iBAAiB,CAAC;EAE7D,MAAMsB,UAAU,GAAGP,iBAAiB,CAAQI,KAAK,CAACI,KAAK,IAAIJ,KAAK,CAACK,EAAE,CAAC;EACpE,MAAAC,cAAA,GAoBIC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEL,UAAU,CAACM,IAAI,EAAET,KAAK,CAAC;IApBvC;MACJU,SAAS;MACTN,KAAK;MACLO,MAAM,GAAG,UAAU;MACnBC,WAAW;MACXC,KAAK,EAAEC,SAAS;MAChBC,gBAAgB;MAChBC,UAAU;MACVC,IAAI;MACJC,OAAO;MACPC,KAAK,EAAEC,SAAS;MAChBC,UAAU;MACVC,QAAQ;MACRC,KAAK;MACLC,YAAY;MACZC,KAAK;MACLC,SAAS;MACTC,gBAAgB;MAChBC;IAEF,CAAC,GAAAtB,cAAA;IADIuB,IAAI,GAAAC,wBAAA,CAAAxB,cAAA,EAAAyB,SAAA;EAGT,MAAMC,qBAAqB,GAAGzD,UAAU,CAACQ,qBAAqB,CAAC;EAC/D,MAAM;IAAEkD,KAAK,EAAEC;EAAa,CAAC,GAAGF,qBAAqB,aAArBA,qBAAqB,cAArBA,qBAAqB,GAAI,CAAC,CAAC;EAE3D,MAAMG,OAAO,GAAG3C,KAAK,CAACQ,KAAK,CAACK,EAAE,CAAC;EAC/B,MAAM,CAAC+B,UAAU,EAAEC,WAAW,CAAC,GAAG3D,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC5D,MAAM4D,gBAAgB,GAAG7D,MAAM,CAAmB,CAAC,CAAC,CAAC;EACrD,MAAM8D,cAAc,GAAG9D,MAAM,CAAc,CAAC,CAAC,CAAC;EAC9C,MAAM+D,gBAAgB,GAAG/D,MAAM,CAAmB,IAAI,CAAC;EACvD,MAAMgE,WAAW,GAAGhE,MAAM,CAAiB,IAAI,CAAC;EAChD,MAAMiE,qBAAqB,GAAGpE,OAAO,CAAC,MAAM;IAC1C,OAAOqE,OAAO,CAACvB,SAAS,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMP,KAAK,GAAGvC,OAAO,CAAC,MAAM;IAC1B,IAAI4D,YAAY,KAAKU,SAAS,EAAE;MAC9B,OAAOvD,kBAAkB,CAACyB,SAAS,CAAC,CAAC+B,OAAO,CAC1C,UAAU,EACVC,MAAM,CAACZ,YAAY,GAAG,CAAC,CACzB,CAAC;IACH;IACA,OAAOpB,SAAS;EAClB,CAAC,EAAE,CAACoB,YAAY,EAAEpB,SAAS,CAAC,CAAC;EAE7B,MAAMiC,iBAAiB,GAAGvE,WAAW,CAAEwB,KAAiB,IAAK;IAC3D,MAAM;MAAEgD,OAAO;MAAEC,UAAU;MAAEC;IAAK,CAAC,GAAGlD,KAAK;IAE3C,IAAI,CAACuC,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,EAAE;MACvCV,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,GAAG,EAAE;IACzC;IAEAT,gBAAgB,CAACW,OAAO,GAAG;MAAEhC,KAAK,EAAE,IAAI;MAAED,OAAO,EAAE,IAAI;MAAED,IAAI,EAAE;IAAK,CAAC;IAErE,MAAMmC,aAAa,GAAGb,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,CAACI,SAAS,CAC/DC,IAAI,IAAK;MACR,OAAOA,IAAI,CAACN,OAAO,KAAKA,OAAO,IAAIM,IAAI,CAACJ,IAAI,KAAKA,IAAI;IACvD,CACF,CAAC;IAED,IAAIE,aAAa,GAAG,CAAC,CAAC,EAAE;MACtBb,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,CAACG,aAAa,CAAC,GAAAG,aAAA,CAAAA,aAAA,KAC5ChB,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,CAACG,aAAa,CAAC,GACjDpD,KAAK,CACT;IACH,CAAC,MAAM;MACLuC,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,CAACO,IAAI,CAACxD,KAAK,CAAC;IAChD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMyD,aAAa,GAAGjF,WAAW,CAC9BwB,KAAiB,IAAK;IACrB,IAAIE,uBAAuB,EAAE;MAE3BA,uBAAuB,CAACuD,aAAa,CAACzD,KAAK,CAAC;MAC5C;IACF;IAEA+C,iBAAiB,CAAC/C,KAAK,CAAC;IAExBqC,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CAACnC,uBAAuB,EAAE6C,iBAAiB,CAC7C,CAAC;EAED,MAAMW,cAAc,GAAGlF,WAAW,CAChC,CAACyE,UAAsB,EAAEU,IAAa,KAAK;IACzC,IAAIzD,uBAAuB,EAAE;MAE3BA,uBAAuB,CAACwD,cAAc,CAACT,UAAU,EAAEU,IAAI,CAAC;MACxD;IACF;IAEA,IAAIpB,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,EAAE;MACtCV,cAAc,CAACY,OAAO,CAACF,UAAU,CAAC,GAAGV,cAAc,CAACY,OAAO,CACzDF,UAAU,CACX,CAACW,GAAG,CAAEN,IAAI,IAAK;QACd,IAAIA,IAAI,CAACO,aAAa,EAAE;UACtB,OAAOP,IAAI;QACb;QAEA,OAAAC,aAAA,CAAAA,aAAA,KACKD,IAAI;UACPK;QAAI;MAER,CAAC,CAAC;MAEFtB,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EACD,CAACnC,uBAAuB,CAC1B,CAAC;EAED,MAAM4D,aAAa,GAAGxF,OAAO,CAAC,MAAM;IAClC,IAAI,OAAO8C,SAAS,KAAK,WAAW,EAAE;MACpC2B,iBAAiB,CAAC;QAChBE,UAAU,EAAEd,OAAO;QACnB0B,aAAa,EAAEnB,qBAAqB;QACpCQ,IAAI,EAAE,OAAO;QACba,OAAO,EAAE3C;MACX,CAAC,CAAC;IACJ;IAEA,IAAI,OAAOF,OAAO,KAAK,WAAW,EAAE;MAClC6B,iBAAiB,CAAC;QAChBE,UAAU,EAAEd,OAAO;QACnB0B,aAAa,EAAE,IAAI;QACnBX,IAAI,EAAE,SAAS;QACfa,OAAO,EAAE7C;MACX,CAAC,CAAC;IACJ;IAEA,IAAI,OAAOD,IAAI,KAAK,WAAW,EAAE;MAC/B8B,iBAAiB,CAAC;QAChBE,UAAU,EAAEd,OAAO;QACnB0B,aAAa,EAAE,IAAI;QACnBX,IAAI,EAAE,MAAM;QACZa,OAAO,EAAE9C;MACX,CAAC,CAAC;IACJ;IAEA,MAAM+C,kBAA6C,GAEjDzD,MAAM,CAAC0D,OAAO,CAAC1B,cAAc,CAACY,OAAO,CAAC,CACnCe,OAAO,CAAC,CAAC,CAACjB,UAAU,EAAEnD,MAAM,CAAC,KAC5BA,MAAM,CAAC8D,GAAG,CAAE5D,KAAK,IAAK;MACpB,OAAAuD,aAAA;QACEN;MAAU,GACPjD,KAAK;IAEZ,CAAC,CACH,CAAC,CAGAmE,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MACpB,MAAMC,QAAQ,GAAGF,GAAG,CAACG,IAAI,CAAEjB,IAAI,IAAK;QAClC,OAAOA,IAAI,CAACJ,IAAI,KAAKmB,GAAG,CAACnB,IAAI;MAC/B,CAAC,CAAC;MAEF,MAAMsB,OAAO,GAAGC,UAAU,CAACJ,GAAG,CAAC;MAE/B,IAAIC,QAAQ,EAAE;QACZA,QAAQ,CAACI,QAAQ,CAAClB,IAAI,CAAAD,aAAA,CAAAA,aAAA,KACjBc,GAAG;UACNG;QAAO,EACR,CAAC;MACJ,CAAC,MAAM;QACLJ,GAAG,CAACZ,IAAI,CAAAD,aAAA,CAAAA,aAAA,KACHc,GAAG;UACNN,OAAO,EAAEnB,SAAS;UAClB8B,QAAQ,EAAE,CAAAnB,aAAA,CAAAA,aAAA,KAEHc,GAAG;YACNG;UAAO;QAEV,EACF,CAAC;MACJ;MAEA,OAAOJ,GAAG;IACZ,CAAC,EAAE,EAA+B,CAAC;IAGvC,OAAOtE,MAAM,CAACqE,MAAM,CAAC,CAACC,GAAG,EAAElB,IAAI,KAAK;MAClC,MAAM7C,EAAE,GAAI,GAAEL,KAAK,CAACK,EAAE,IAAID,KAAK,IAAI+B,OAAQ,iBAAgBe,IAAK,EAAC;MACjEkB,GAAG,CAAClB,IAAI,CAAC,GAAG;QACV7C,EAAE;QACFQ,KAAK;QACL8D,KAAK,EAAEzB,IAAI,KAAK,SAAS,GAAG,MAAM,GAAGA,IAAI;QACzC0B,aAAa,EAAEnC,WAAW;QAG1BoC,YAAY,EACVC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAC3B,IAAI,GACJ,OAAOC,UAAU,KAAK,WAAW,GACjCA,UAAU,CAACC,OAAO,KAAK,IAAI,GAC3B;MACR,CAAC;MAED,MAAMC,KAAK,GAAGnB,kBAAkB,CAACO,IAAI,CAAEjB,IAAI,IAAK;QAC9C,OAAOA,IAAI,CAACJ,IAAI,KAAKA,IAAI;MAC3B,CAAC,CAAC;MAEF,IAAIiC,KAAK,aAALA,KAAK,eAALA,KAAK,CAAET,QAAQ,EAAE;QAEnB,MAAMA,QAAQ,GAAGS,KAAK,CAACT,QAAQ,CAC5Bd,GAAG,CAAEwB,GAAG,IAAK;UACZ,IAAIA,GAAG,CAAClC,IAAI,KAAK,OAAO,EAAE;YACxB,IAAI,CAACkC,GAAG,CAACvB,aAAa,IAAI,CAACuB,GAAG,CAACzB,IAAI,EAAE;cACnCyB,GAAG,CAACZ,OAAO,GAAG,IAAI;YACpB;UACF;UAEA,OAAOY,GAAG;QACZ,CAAC,CAAC,CACDC,MAAM,CAAC,CAAC;UAAEb;QAAQ,CAAC,KAAKA,OAAO,CAAC,CAChCL,MAAM,CAAC,CAACC,GAAG,EAAEgB,GAAG,EAAEE,CAAC,EAAEC,GAAG,KAAK;UAC5B,MAAMnC,aAAa,GAAGmC,GAAG,CAAClC,SAAS,CAAEC,IAAI,IAAK;YAC5C,OACEjE,kBAAkB,CAACiE,IAAI,CAACkB,OAAO,CAAC,KAChCnF,kBAAkB,CAAC+F,GAAG,CAACZ,OAAO,CAAC;UAEnC,CAAC,CAAC;UAGF,IAAIpB,aAAa,KAAKkC,CAAC,EAAE;YACvBlB,GAAG,CAACZ,IAAI,CAAC4B,GAAG,CAAC;UACf;UAEA,OAAOhB,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;QAGR,IAAIM,QAAQ,CAACc,MAAM,GAAG,CAAC,EAAE;UACvBpB,GAAG,CAAClB,IAAI,CAAC,GAAAK,aAAA,CAAAA,aAAA,KACJa,GAAG,CAAClB,IAAI,CAAC;YACZuC,IAAI,EAAEpH,KAAA,CAAAqH,aAAA,CAACC,eAAe;cAACzC,IAAI,EAAEA,IAAK;cAACwB,QAAQ,EAAEA;YAAS,CAAE;UAAC,EAC1D;UAEDlC,gBAAgB,CAACW,OAAO,CAACD,IAAI,CAAC,GAAG7C,EAAE;QACrC,CAAC,MAAM;UACLmC,gBAAgB,CAACW,OAAO,CAACD,IAAI,CAAC,GAAGN,SAAS;QAC5C;MACF;MAEA,OAAOwB,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAGR,CAAC,EAAE,CACDnD,IAAI,EACJC,OAAO,EACPE,SAAS,EACTlB,uBAAuB,EACvB6C,iBAAiB,EACjBZ,OAAO,EACPC,UAAU,CACX,CAAC;EAGFzD,SAAS,CAAC,MAAM;IACd,IAAI,CAACuB,uBAAuB,EAAE;MAC5BwD,cAAc,CAACvB,OAAO,EAAEQ,OAAO,CAACvB,SAAS,CAAC,CAAC;IAC7C;EACF,CAAC,EAAE,CAACA,SAAS,EAAEe,OAAO,EAAEuB,cAAc,EAAExD,uBAAuB,CAAC,CAAC;EAEjET,gBAAgB,CAAC,MAAM,MAAM;IAC3B6C,gBAAgB,CAACa,OAAO,GAAG,CAAC,CAAC;IAC7BZ,cAAc,CAACY,OAAO,GAAG,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMyC,WAAW,GAAGhH,UAAU,CAC5B,uBAAuB,EAEvB8B,SAAS,EADTa,KAAK,KAAKqB,SAAS,IAAK,gCAA+BrB,KAAM,EAE/D,CAAC;EACD,MAAMsE,WAAW,gEAEkBlF,MAAO,EACzC;EAGD,MAAMmF,cAAc,GAAGC,iBAAiB,CAAC;IACvClF,KAAK;IACLG,UAAU;IACVY,QAAQ;IACR1B;EACF,CAAC,CAAC;EAEF,MAAM8F,UAA6B,GAAG;IACpCC,OAAO,EAAEH,cAAc,GAAG,QAAQ,GAAG,OAAO;IAC5C1F,KAAK,EAAE0F,cAAc,GAAGlD,SAAS,GAAGxC,KAAK;IACzC8F,KAAK,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAU,CAAC;IACpCC,IAAI,EAAE3E,SAAS;IACfJ;EACF,CAAC;EAED,IAAIrB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEqG,mBAAmB,EAAE;IACpC,OAAO,IAAI;EACb;EAEA,IAAIjF,UAAU,IAAI,CAACR,KAAK,EAAE;IACxBtB,IAAI,CAAC,uDAAuD,CAAC;EAC/D;EAEA,OACElB,KAAA,CAAAqH,aAAA,CAAC7G,iBAAiB,CAAC0H,QAAQ;IACzBC,KAAK,EAAE;MACL/C,aAAa;MACbC,cAAc;MACd+C,YAAY,EAAE9D,OAAO,CAACvB,SAAS,CAAC;MAChCoB,gBAAgB;MAChBF,gBAAgB;MAChB1B;IACF;EAAE,GAEFvC,KAAA,CAAAqH,aAAA,CAAC1G,KAAK,EAAA0H,QAAA;IACJT,OAAO,EAAEH,cAAc,GAAG,UAAU,GAAG,KAAM;IAC7CpF,SAAS,EAAEkF;EAAY,GACnB/D,IAAI,GAERxD,KAAA,CAAAqH,aAAA;IAAKhF,SAAS,EAAEmF;EAAY,GAC1BxH,KAAA,CAAAqH,aAAA,CAACiB,gBAAgB;IAAC5F,gBAAgB,EAAEA;EAAiB,GAClD,CAACF,KAAK,IAAIE,gBAAgB,KACzB1C,KAAA,CAAAqH,aAAA,CAACzG,SAAS,EAAK+G,UAAU,EACvB3H,KAAA,CAAAqH,aAAA,CAAC/F,eAAe;IAACgF,KAAK,EAAEtD;EAAW,GAChCR,KAAK,EACLE,gBAAgB,IACf1C,KAAA,CAAAqH,aAAA;IAAMhF,SAAS,EAAC;EAA0C,GACvDK,gBACG,CAEO,CACR,CAEG,CAAC,EAEnB1C,KAAA,CAAAqH,aAAA;IAAKhF,SAAS,EAAC;EAA+B,GAC5CrC,KAAA,CAAAqH,aAAA,CAACxG,UAAU,EAAK4E,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE3C,KAAQ,CAAC,EACxC9C,KAAA,CAAAqH,aAAA,CAACxG,UAAU,EAAK4E,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE5C,OAAU,CAAC,EAC1C7C,KAAA,CAAAqH,aAAA,CAACxG,UAAU,EAAK4E,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE7C,IAAO,CACnC,CAAC,EAEN5C,KAAA,CAAAqH,aAAA;IACEhF,SAAS,EAAE9B,UAAU,CACnB,iCAAiC,EAQjC+C,gBAAgB,EAPhBH,YAAY,IACT,0CAAyCA,YAAa,EAAC,EAC1DC,KAAK,IAAK,0CAAyCA,KAAM,EAAC,EAC1Db,WAAW,IACR,iDACCA,WAAW,KAAK,IAAI,GAAG,YAAY,GAAGA,WACvC,EAEL,CAAE;IACFgG,GAAG,EAAEnE;EAAY,GAEhBb,QACE,CACF,CACA,CACmB,CAAC;AAEjC;AAEA,SAASmE,iBAAiBA,CAAC;EACzBlF,KAAK;EACLG,UAAU;EACVY,QAAQ;EACR1B;AACF,CAAC,EAAE;EACD,OAAO5B,OAAO,CAAC,MAAM;IACnB,IAAI0C,UAAU,KAAK,KAAK,EAAE;MACxB,OAAO,KAAK;IACd;IAEA,IAAI6F,MAAM,GAAG7F,UAAU;IAEvB,IAAIH,KAAK,IAAI,CAACgG,MAAM,IAAI,CAAC3G,uBAAuB,EAAE;MAChD,IAAI4G,KAAK,GAAG,CAAC;MAEbxH,qBAAqB,CAACsC,QAAQ,EAAGmF,KAAyB,IAAK;QAAA,IAAAC,YAAA,EAAAC,WAAA;QAC7D,IACEF,KAAK,aAALA,KAAK,gBAAAC,YAAA,GAALD,KAAK,CAAE/G,KAAK,cAAAgH,YAAA,eAAZA,YAAA,CAAcnG,KAAK,IACnB,CAAAkG,KAAK,aAALA,KAAK,wBAAAE,WAAA,GAALF,KAAK,CAAE7D,IAAI,cAAA+D,WAAA,uBAAXA,WAAA,CAAc,cAAc,CAAC,MAAK,IAAI,EACtC;UACAH,KAAK,EAAE;QACT;QACA,IAAIA,KAAK,GAAG,CAAC,EAAE;UACb,OAAQD,MAAM,GAAG,IAAI;QACvB;MACF,CAAC,CAAC;IACJ;IAEA,OAAOlE,OAAO,CAACkE,MAAM,CAAC;EACxB,CAAC,EAAE,CAAC7F,UAAU,EAAEY,QAAQ,EAAEf,KAAK,EAAEX,uBAAuB,CAAC,CAAC;AAC5D;AAEA,SAASyF,eAAeA,CAAC;EACvBzC,IAAI;EACJwB;AAIF,CAAC,EAAE;EACD,MAAMwC,YAAY,GAAGrH,cAAc,CAAC,CAAC,CAACsH,KAAK;EAE3C,IAAIzC,QAAQ,CAACc,MAAM,KAAK,CAAC,EAAE;IACzB,OAAOnH,KAAA,CAAAqH,aAAA,CAAArH,KAAA,CAAA+I,QAAA,QAAG1C,QAAQ,CAAC,CAAC,CAAC,CAACF,OAAU,CAAC;EACnC;EAEA,OACEnG,KAAA,CAAAqH,aAAA,CAAArH,KAAA,CAAA+I,QAAA,QACGlE,IAAI,KAAK,OAAO,GACbgE,YAAY,CAACG,YAAY,GACzBH,YAAY,CAACI,YAAY,EAC7BjJ,KAAA,CAAAqH,aAAA,CAACvG,EAAE,QACAuF,QAAQ,CAACd,GAAG,CAAC,CAAC;IAAEY;EAAQ,CAAC,EAAEc,CAAC,KAAK;IAChC,OAAOjH,KAAA,CAAAqH,aAAA,CAACtG,EAAE;MAACmI,GAAG,EAAEjC;IAAE,GAAEd,OAAY,CAAC;EACnC,CAAC,CACC,CACJ,CAAC;AAEP;AAEA,SAASmC,gBAAgBA,CAAC;EAAE5F,gBAAgB;EAAEa;AAAS,CAAC,EAAE;EACxD,IAAI,CAACb,gBAAgB,EAAE;IACrB,OAAOa,QAAQ;EACjB;EACA,OAAOvD,KAAA,CAAAqH,aAAA;IAAKhF,SAAS,EAAC;EAA8B,GAAEkB,QAAc,CAAC;AACvE;AAEA,SAAS6C,UAAUA,CAACnB,IAA+B,EAAgB;EACjE,MAAM;IAAES;EAAQ,CAAC,GAAGT,IAAI;EAExB,OAASS,OAAO,YAAYyD,KAAK,IAAIzD,OAAO,CAACS,OAAO,IACjDT,OAAO,YAAYrE,SAAS,IAAIqE,OAAO,CAACS,OAAQ,KACjDT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0D,QAAQ,CAAC,CAAC,KACnB1D,OAAO;AACX;AAEAhE,UAAU,CAAC2H,qBAAqB,GAAG,IAAI;AAEvC,eAAe3H,UAAU"}
|
|
1
|
+
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","IterateElementContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","warn","useId","useUnmountEffect","FormError","SubmitIndicator","createSharedState","useTranslation","states","FieldBlock","props","dataContext","nestedFieldBlockContext","sharedData","forId","id","_Object$assign","Object","assign","data","className","layout","composition","label","labelProp","labelDescription","labelSrOnly","asFieldset","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","_objectWithoutProperties","_excluded","iterateElementContext","index","iterateIndex","blockId","wasUpdated","forceUpdate","mountedFieldsRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","Boolean","undefined","replace","String","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","i","arr","length","text","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","Provider","value","hasErrorProp","_extends","LabelDescription","ref","result","count","child","_child$props","_child$type","translations","Field","Fragment","errorSummary","stateSummary","key","Error","toString","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateElementContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport useUnmountEffect from '../../../shared/helpers/useUnmountEffect'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSrOnly,\n asFieldset,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateElementContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateElementContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const label = useMemo(() => {\n if (iterateIndex !== undefined) {\n return convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n return labelProp\n }, [iterateIndex, labelProp])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useUnmountEffect(() => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n })\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && !label) {\n warn('You have to provide a label to use show an indicator.')\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nfunction getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
|
|
@@ -12,6 +12,11 @@ export const fieldBlockSharedProperties = {
|
|
|
12
12
|
type: 'string',
|
|
13
13
|
status: 'optional'
|
|
14
14
|
},
|
|
15
|
+
labelSrOnly: {
|
|
16
|
+
doc: 'Use `true` to make the label only readable by screen readers.',
|
|
17
|
+
type: 'boolean',
|
|
18
|
+
status: 'optional'
|
|
19
|
+
},
|
|
15
20
|
layout: {
|
|
16
21
|
doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',
|
|
17
22
|
type: 'string',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","layout","width","contentWidth","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;AAEA,OAAO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","labelSrOnly","layout","width","contentWidth","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading size](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;AAEA,OAAO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMM,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDX,0BAA0B;EAC7BY,SAAS,EAAE;IACTV,GAAG,EAAE,4FAA4F;IACjGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDS,UAAU,EAAE;IACVX,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,KAAK,EAAE;IACLZ,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDW,WAAW,EAAE;IACXb,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDY,QAAQ,EAAE;IACRd,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF"}
|
|
@@ -2,9 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { SectionContextState } from './SectionContext';
|
|
3
3
|
import type { Props as DataContextProps } from '../../DataContext/Provider';
|
|
4
4
|
import type { ContainerMode } from './containers/SectionContainer';
|
|
5
|
-
import type {
|
|
5
|
+
import type { FieldBlockProps, Path, FieldProps } from '../../types';
|
|
6
6
|
export type OverwritePropsDefaults = {
|
|
7
|
-
[key: Path]: (FieldProps &
|
|
7
|
+
[key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults;
|
|
8
8
|
};
|
|
9
9
|
export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionContainerProvider","ViewContainer","EditContainer","SectionComponent","props","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","args","identifier","fieldProps","undefined","createElement","value","_extends","_objectSpread","substring","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n
|
|
1
|
+
{"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionContainerProvider","ViewContainer","EditContainer","SectionComponent","props","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","args","identifier","fieldProps","undefined","createElement","value","_extends","_objectSpread","substring","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n FieldBlockProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * Defines the container mode. Can be `view` or `edit`.\n * Defaults to `view`.\n */\n containerMode?: ContainerMode\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n containerMode = 'view',\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange<unknown>>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <SectionContainerProvider containerMode={containerMode}>\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
|
|
@@ -127,6 +127,10 @@ export default {
|
|
|
127
127
|
label: 'Password',
|
|
128
128
|
ariaLabelShow: 'Show password',
|
|
129
129
|
ariaLabelHide: 'Hide password'
|
|
130
|
+
},
|
|
131
|
+
Upload: {
|
|
132
|
+
errorRequired: 'You must upload a file.',
|
|
133
|
+
errorInvalidFiles: 'Remove all files that have errors.'
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-GB.js","names":["Field","errorSummaryTitle","stateSummary","errorSummary","errorRequired","errorPattern","SubmitButton","text","sendText","Step","summaryTitle","WizardEditButton","WizardPreviousButton","WizardNextButton","RemoveButton","IterateViewContainer","removeButton","editButton","SectionViewContainer","SectionEditContainer","doneButton","cancelButton","errorInSection","IterateEditContainer","StringField","errorMinLength","errorMaxLength","NumberField","errorMinimum","errorMaximum","errorExclusiveMinimum","errorExclusiveMaximum","errorMultipleOf","BooleanField","yes","no","Date","label","Expiry","Email","FirstName","LastName","CompanyName","NationalIdentityNumber","OrganizationNumber","BankAccountNumber","PhoneNumber","countryCodeLabel","warningRequired","PostalCodeAndCity","PostalCode","City","SelectCountry","placeholder","Password","ariaLabelShow","ariaLabelHide"],"sources":["../../../../../../src/extensions/forms/constants/locales/en-GB.ts"],"sourcesContent":["export default {\n 'en-GB': {\n /**\n * General\n */\n Field: {\n errorSummaryTitle: 'Please correct the following errors',\n stateSummary: 'Summary:',\n errorSummary: 'Please correct the following errors:',\n errorRequired: 'This field is required.',\n errorPattern: 'The value is invalid.',\n },\n SubmitButton: {\n text: 'Send',\n sendText: 'Send',\n },\n Step: {\n summaryTitle: 'Summary',\n },\n WizardEditButton: {\n text: 'Edit',\n },\n WizardPreviousButton: {\n text: 'Back',\n },\n WizardNextButton: {\n text: 'Next',\n },\n RemoveButton: {\n text: 'Remove',\n },\n IterateViewContainer: {\n removeButton: 'Remove',\n editButton: 'Edit',\n },\n SectionViewContainer: {\n editButton: 'Edit',\n },\n SectionEditContainer: {\n doneButton: 'Done',\n cancelButton: 'Cancel',\n errorInSection: 'Please correct the errors above',\n },\n IterateEditContainer: {\n removeButton: 'Remove',\n doneButton: 'Done',\n cancelButton: 'Cancel',\n errorInSection: 'Please correct the errors above',\n },\n\n /**\n * Base fields\n */\n StringField: {\n errorMinLength:\n 'The value can not be shorter than {minLength} characters.',\n errorMaxLength:\n 'The value can not be longer than {maxLength} characters.',\n },\n NumberField: {\n errorMinimum: 'The value must be at least {minimum}.',\n errorMaximum: 'The value must be a maximum of {maximum}.',\n errorExclusiveMinimum:\n 'The value must be greater than {exclusiveMinimum}.',\n errorExclusiveMaximum:\n 'The value must be less than {exclusiveMaximum}.',\n errorMultipleOf: 'The value must be a multiple of {multipleOf}.',\n },\n BooleanField: {\n yes: 'Yes',\n no: 'No',\n },\n\n /**\n * Feature fields\n */\n Date: {\n label: 'Date',\n errorRequired: 'You must provide a valid date.',\n },\n Expiry: {\n label: 'Expiry date',\n },\n Email: {\n label: 'Email address',\n errorRequired: 'You must enter a Email address.',\n errorPattern: 'Invalid Email address. Enter a valid Email address.',\n },\n FirstName: {\n label: 'Given name',\n errorRequired: 'You must enter a given name (first name).',\n errorPattern:\n 'Enter a given name (first name) using only letters and characters such as hyphens and spaces.',\n },\n LastName: {\n label: 'Surname',\n errorRequired: 'You must enter a surname (last name).',\n errorPattern:\n 'Enter a surname (last name) using only letters and characters such as hyphens and spaces.',\n },\n CompanyName: {\n label: 'Company name',\n errorRequired: 'You must enter a company name.',\n },\n NationalIdentityNumber: {\n label: 'National identity number (11 digits)',\n errorRequired:\n 'Invalid national identity number. Enter a valid 11-digit number.',\n },\n OrganizationNumber: {\n label: 'Organisation number',\n errorRequired: 'You must enter an organisation number.',\n errorPattern: 'This is not a valid organisation number.',\n },\n BankAccountNumber: {\n label: 'Bank account',\n errorRequired:\n 'Enter a valid account number. Account number is mandatory to fill out.',\n errorPattern: 'This is not a valid bank account number.',\n },\n PhoneNumber: {\n label: 'Mobile number',\n countryCodeLabel: 'Country code',\n errorRequired:\n 'Mobile number must be filled in. If you don’t have a mobile number, you can enter another phone number.',\n warningRequired:\n 'You have not entered a mobile number. You can still use this number if it is correct.',\n },\n PostalCodeAndCity: {\n label: 'Postcode and city',\n },\n PostalCode: {\n label: 'Postc.',\n errorRequired: 'You must enter a postcode.',\n errorPattern: 'This is not a valid postcode (four-digits).',\n },\n City: {\n label: 'City',\n errorRequired: 'You must enter a city name.',\n errorPattern:\n 'City names can only contain letters and valid characters such as hyphens and spaces.',\n },\n SelectCountry: {\n label: 'Country',\n placeholder: 'Select country',\n errorRequired: 'You must select a country from the list.',\n },\n Password: {\n label: 'Password',\n ariaLabelShow: 'Show password',\n ariaLabelHide: 'Hide password',\n },\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"en-GB.js","names":["Field","errorSummaryTitle","stateSummary","errorSummary","errorRequired","errorPattern","SubmitButton","text","sendText","Step","summaryTitle","WizardEditButton","WizardPreviousButton","WizardNextButton","RemoveButton","IterateViewContainer","removeButton","editButton","SectionViewContainer","SectionEditContainer","doneButton","cancelButton","errorInSection","IterateEditContainer","StringField","errorMinLength","errorMaxLength","NumberField","errorMinimum","errorMaximum","errorExclusiveMinimum","errorExclusiveMaximum","errorMultipleOf","BooleanField","yes","no","Date","label","Expiry","Email","FirstName","LastName","CompanyName","NationalIdentityNumber","OrganizationNumber","BankAccountNumber","PhoneNumber","countryCodeLabel","warningRequired","PostalCodeAndCity","PostalCode","City","SelectCountry","placeholder","Password","ariaLabelShow","ariaLabelHide","Upload","errorInvalidFiles"],"sources":["../../../../../../src/extensions/forms/constants/locales/en-GB.ts"],"sourcesContent":["export default {\n 'en-GB': {\n /**\n * General\n */\n Field: {\n errorSummaryTitle: 'Please correct the following errors',\n stateSummary: 'Summary:',\n errorSummary: 'Please correct the following errors:',\n errorRequired: 'This field is required.',\n errorPattern: 'The value is invalid.',\n },\n SubmitButton: {\n text: 'Send',\n sendText: 'Send',\n },\n Step: {\n summaryTitle: 'Summary',\n },\n WizardEditButton: {\n text: 'Edit',\n },\n WizardPreviousButton: {\n text: 'Back',\n },\n WizardNextButton: {\n text: 'Next',\n },\n RemoveButton: {\n text: 'Remove',\n },\n IterateViewContainer: {\n removeButton: 'Remove',\n editButton: 'Edit',\n },\n SectionViewContainer: {\n editButton: 'Edit',\n },\n SectionEditContainer: {\n doneButton: 'Done',\n cancelButton: 'Cancel',\n errorInSection: 'Please correct the errors above',\n },\n IterateEditContainer: {\n removeButton: 'Remove',\n doneButton: 'Done',\n cancelButton: 'Cancel',\n errorInSection: 'Please correct the errors above',\n },\n\n /**\n * Base fields\n */\n StringField: {\n errorMinLength:\n 'The value can not be shorter than {minLength} characters.',\n errorMaxLength:\n 'The value can not be longer than {maxLength} characters.',\n },\n NumberField: {\n errorMinimum: 'The value must be at least {minimum}.',\n errorMaximum: 'The value must be a maximum of {maximum}.',\n errorExclusiveMinimum:\n 'The value must be greater than {exclusiveMinimum}.',\n errorExclusiveMaximum:\n 'The value must be less than {exclusiveMaximum}.',\n errorMultipleOf: 'The value must be a multiple of {multipleOf}.',\n },\n BooleanField: {\n yes: 'Yes',\n no: 'No',\n },\n\n /**\n * Feature fields\n */\n Date: {\n label: 'Date',\n errorRequired: 'You must provide a valid date.',\n },\n Expiry: {\n label: 'Expiry date',\n },\n Email: {\n label: 'Email address',\n errorRequired: 'You must enter a Email address.',\n errorPattern: 'Invalid Email address. Enter a valid Email address.',\n },\n FirstName: {\n label: 'Given name',\n errorRequired: 'You must enter a given name (first name).',\n errorPattern:\n 'Enter a given name (first name) using only letters and characters such as hyphens and spaces.',\n },\n LastName: {\n label: 'Surname',\n errorRequired: 'You must enter a surname (last name).',\n errorPattern:\n 'Enter a surname (last name) using only letters and characters such as hyphens and spaces.',\n },\n CompanyName: {\n label: 'Company name',\n errorRequired: 'You must enter a company name.',\n },\n NationalIdentityNumber: {\n label: 'National identity number (11 digits)',\n errorRequired:\n 'Invalid national identity number. Enter a valid 11-digit number.',\n },\n OrganizationNumber: {\n label: 'Organisation number',\n errorRequired: 'You must enter an organisation number.',\n errorPattern: 'This is not a valid organisation number.',\n },\n BankAccountNumber: {\n label: 'Bank account',\n errorRequired:\n 'Enter a valid account number. Account number is mandatory to fill out.',\n errorPattern: 'This is not a valid bank account number.',\n },\n PhoneNumber: {\n label: 'Mobile number',\n countryCodeLabel: 'Country code',\n errorRequired:\n 'Mobile number must be filled in. If you don’t have a mobile number, you can enter another phone number.',\n warningRequired:\n 'You have not entered a mobile number. You can still use this number if it is correct.',\n },\n PostalCodeAndCity: {\n label: 'Postcode and city',\n },\n PostalCode: {\n label: 'Postc.',\n errorRequired: 'You must enter a postcode.',\n errorPattern: 'This is not a valid postcode (four-digits).',\n },\n City: {\n label: 'City',\n errorRequired: 'You must enter a city name.',\n errorPattern:\n 'City names can only contain letters and valid characters such as hyphens and spaces.',\n },\n SelectCountry: {\n label: 'Country',\n placeholder: 'Select country',\n errorRequired: 'You must select a country from the list.',\n },\n Password: {\n label: 'Password',\n ariaLabelShow: 'Show password',\n ariaLabelHide: 'Hide password',\n },\n Upload: {\n errorRequired: 'You must upload a file.',\n errorInvalidFiles: 'Remove all files that have errors.',\n },\n },\n}\n"],"mappings":"AAAA,eAAe;EACb,OAAO,EAAE;IAIPA,KAAK,EAAE;MACLC,iBAAiB,EAAE,qCAAqC;MACxDC,YAAY,EAAE,UAAU;MACxBC,YAAY,EAAE,sCAAsC;MACpDC,aAAa,EAAE,yBAAyB;MACxCC,YAAY,EAAE;IAChB,CAAC;IACDC,YAAY,EAAE;MACZC,IAAI,EAAE,MAAM;MACZC,QAAQ,EAAE;IACZ,CAAC;IACDC,IAAI,EAAE;MACJC,YAAY,EAAE;IAChB,CAAC;IACDC,gBAAgB,EAAE;MAChBJ,IAAI,EAAE;IACR,CAAC;IACDK,oBAAoB,EAAE;MACpBL,IAAI,EAAE;IACR,CAAC;IACDM,gBAAgB,EAAE;MAChBN,IAAI,EAAE;IACR,CAAC;IACDO,YAAY,EAAE;MACZP,IAAI,EAAE;IACR,CAAC;IACDQ,oBAAoB,EAAE;MACpBC,YAAY,EAAE,QAAQ;MACtBC,UAAU,EAAE;IACd,CAAC;IACDC,oBAAoB,EAAE;MACpBD,UAAU,EAAE;IACd,CAAC;IACDE,oBAAoB,EAAE;MACpBC,UAAU,EAAE,MAAM;MAClBC,YAAY,EAAE,QAAQ;MACtBC,cAAc,EAAE;IAClB,CAAC;IACDC,oBAAoB,EAAE;MACpBP,YAAY,EAAE,QAAQ;MACtBI,UAAU,EAAE,MAAM;MAClBC,YAAY,EAAE,QAAQ;MACtBC,cAAc,EAAE;IAClB,CAAC;IAKDE,WAAW,EAAE;MACXC,cAAc,EACZ,2DAA2D;MAC7DC,cAAc,EACZ;IACJ,CAAC;IACDC,WAAW,EAAE;MACXC,YAAY,EAAE,uCAAuC;MACrDC,YAAY,EAAE,2CAA2C;MACzDC,qBAAqB,EACnB,oDAAoD;MACtDC,qBAAqB,EACnB,iDAAiD;MACnDC,eAAe,EAAE;IACnB,CAAC;IACDC,YAAY,EAAE;MACZC,GAAG,EAAE,KAAK;MACVC,EAAE,EAAE;IACN,CAAC;IAKDC,IAAI,EAAE;MACJC,KAAK,EAAE,MAAM;MACbjC,aAAa,EAAE;IACjB,CAAC;IACDkC,MAAM,EAAE;MACND,KAAK,EAAE;IACT,CAAC;IACDE,KAAK,EAAE;MACLF,KAAK,EAAE,eAAe;MACtBjC,aAAa,EAAE,iCAAiC;MAChDC,YAAY,EAAE;IAChB,CAAC;IACDmC,SAAS,EAAE;MACTH,KAAK,EAAE,YAAY;MACnBjC,aAAa,EAAE,2CAA2C;MAC1DC,YAAY,EACV;IACJ,CAAC;IACDoC,QAAQ,EAAE;MACRJ,KAAK,EAAE,SAAS;MAChBjC,aAAa,EAAE,uCAAuC;MACtDC,YAAY,EACV;IACJ,CAAC;IACDqC,WAAW,EAAE;MACXL,KAAK,EAAE,cAAc;MACrBjC,aAAa,EAAE;IACjB,CAAC;IACDuC,sBAAsB,EAAE;MACtBN,KAAK,EAAE,sCAAsC;MAC7CjC,aAAa,EACX;IACJ,CAAC;IACDwC,kBAAkB,EAAE;MAClBP,KAAK,EAAE,qBAAqB;MAC5BjC,aAAa,EAAE,wCAAwC;MACvDC,YAAY,EAAE;IAChB,CAAC;IACDwC,iBAAiB,EAAE;MACjBR,KAAK,EAAE,cAAc;MACrBjC,aAAa,EACX,wEAAwE;MAC1EC,YAAY,EAAE;IAChB,CAAC;IACDyC,WAAW,EAAE;MACXT,KAAK,EAAE,eAAe;MACtBU,gBAAgB,EAAE,cAAc;MAChC3C,aAAa,EACX,yGAAyG;MAC3G4C,eAAe,EACb;IACJ,CAAC;IACDC,iBAAiB,EAAE;MACjBZ,KAAK,EAAE;IACT,CAAC;IACDa,UAAU,EAAE;MACVb,KAAK,EAAE,QAAQ;MACfjC,aAAa,EAAE,4BAA4B;MAC3CC,YAAY,EAAE;IAChB,CAAC;IACD8C,IAAI,EAAE;MACJd,KAAK,EAAE,MAAM;MACbjC,aAAa,EAAE,6BAA6B;MAC5CC,YAAY,EACV;IACJ,CAAC;IACD+C,aAAa,EAAE;MACbf,KAAK,EAAE,SAAS;MAChBgB,WAAW,EAAE,gBAAgB;MAC7BjD,aAAa,EAAE;IACjB,CAAC;IACDkD,QAAQ,EAAE;MACRjB,KAAK,EAAE,UAAU;MACjBkB,aAAa,EAAE,eAAe;MAC9BC,aAAa,EAAE;IACjB,CAAC;IACDC,MAAM,EAAE;MACNrD,aAAa,EAAE,yBAAyB;MACxCsD,iBAAiB,EAAE;IACrB;EACF;AACF,CAAC"}
|
|
@@ -128,6 +128,10 @@ declare const locales: {
|
|
|
128
128
|
ariaLabelShow: string;
|
|
129
129
|
ariaLabelHide: string;
|
|
130
130
|
};
|
|
131
|
+
Upload: {
|
|
132
|
+
errorRequired: string;
|
|
133
|
+
errorInvalidFiles: string;
|
|
134
|
+
};
|
|
131
135
|
};
|
|
132
136
|
'nb-NO': {
|
|
133
137
|
Field: {
|
|
@@ -258,6 +262,10 @@ declare const locales: {
|
|
|
258
262
|
ariaLabelShow: string;
|
|
259
263
|
ariaLabelHide: string;
|
|
260
264
|
};
|
|
265
|
+
Upload: {
|
|
266
|
+
errorRequired: string;
|
|
267
|
+
errorInvalidFiles: string;
|
|
268
|
+
};
|
|
261
269
|
};
|
|
262
270
|
};
|
|
263
271
|
export default locales;
|
|
@@ -127,6 +127,10 @@ export default {
|
|
|
127
127
|
label: 'Passord',
|
|
128
128
|
ariaLabelShow: 'Vis passord',
|
|
129
129
|
ariaLabelHide: 'Skjul passord'
|
|
130
|
+
},
|
|
131
|
+
Upload: {
|
|
132
|
+
errorRequired: 'Du må laste opp minst en fil.',
|
|
133
|
+
errorInvalidFiles: 'Fjern alle filer som har feil.'
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nb-NO.js","names":["Field","errorSummaryTitle","stateSummary","errorSummary","errorRequired","errorPattern","SubmitButton","text","sendText","Step","summaryTitle","WizardEditButton","WizardPreviousButton","WizardNextButton","RemoveButton","IterateViewContainer","removeButton","editButton","SectionViewContainer","SectionEditContainer","doneButton","cancelButton","errorInSection","IterateEditContainer","StringField","errorMinLength","errorMaxLength","NumberField","errorMinimum","errorMaximum","errorExclusiveMinimum","errorExclusiveMaximum","errorMultipleOf","BooleanField","yes","no","Date","label","Expiry","Email","FirstName","LastName","CompanyName","NationalIdentityNumber","OrganizationNumber","BankAccountNumber","PhoneNumber","countryCodeLabel","warningRequired","PostalCodeAndCity","PostalCode","City","SelectCountry","placeholder","Password","ariaLabelShow","ariaLabelHide"],"sources":["../../../../../../src/extensions/forms/constants/locales/nb-NO.ts"],"sourcesContent":["export default {\n 'nb-NO': {\n /**\n * General\n */\n Field: {\n errorSummaryTitle: 'Feil som må rettes',\n stateSummary: 'Oppsummering:',\n errorSummary: 'Feil som må rettes:',\n errorRequired: 'Dette feltet må fylles ut.',\n errorPattern: 'Verdien er ugyldig.',\n },\n SubmitButton: {\n text: 'Send',\n sendText: 'Send inn',\n },\n Step: {\n summaryTitle: 'Oppsummering',\n },\n WizardEditButton: {\n text: 'Endre',\n },\n WizardPreviousButton: {\n text: 'Tilbake',\n },\n WizardNextButton: {\n text: 'Neste',\n },\n RemoveButton: {\n text: 'Fjern',\n },\n IterateViewContainer: {\n removeButton: 'Fjern',\n editButton: 'Endre',\n },\n SectionViewContainer: {\n editButton: 'Endre',\n },\n SectionEditContainer: {\n doneButton: 'Ferdig',\n cancelButton: 'Avbryt',\n errorInSection: 'Feilene ovenfor må rettes',\n },\n IterateEditContainer: {\n removeButton: 'Fjern',\n doneButton: 'Ferdig',\n cancelButton: 'Avbryt',\n errorInSection: 'Feilene ovenfor må rettes',\n },\n\n /**\n * Base fields\n */\n StringField: {\n errorMinLength:\n 'Verdien kan ikke være kortere enn {minLength} tegn.',\n errorMaxLength: 'Verdien kan ikke være lengre enn {maxLength} tegn.',\n },\n NumberField: {\n errorMinimum: 'Verdien må være minst {minimum}.',\n errorMaximum: 'Verdien må være maksimalt {maximum}.',\n errorExclusiveMinimum:\n 'Verdien må være større enn {exclusiveMinimum}.',\n errorExclusiveMaximum:\n 'Verdien må være mindre enn {exclusiveMaximum}.',\n errorMultipleOf: 'Verdien må være et multiplum av {multipleOf}.',\n },\n BooleanField: {\n yes: 'Ja',\n no: 'Nei',\n },\n\n /**\n * Feature fields\n */\n Date: {\n label: 'Dato',\n errorRequired: 'Du må angi en gyldig dato.',\n },\n Expiry: {\n label: 'Utløpsdato',\n },\n Email: {\n label: 'E-postadresse',\n errorRequired: 'Du må fylle inn en e-postadresse.',\n errorPattern: 'Ugyldig e-postadresse. Skriv inn en e-postadresse.',\n },\n FirstName: {\n label: 'Fornavn',\n errorRequired: 'Du må fylle inn fornavn.',\n errorPattern:\n 'Kun bokstaver og tegn som bindestrek og mellomrom er tillatt.',\n },\n LastName: {\n label: 'Etternavn',\n errorRequired: 'Du må fylle inn etternavn.',\n errorPattern:\n 'Kun bokstaver og tegn som bindestrek og mellomrom er tillatt.',\n },\n CompanyName: {\n label: 'Firmanavn',\n errorRequired: 'Du må fylle inn firmanavn.',\n },\n NationalIdentityNumber: {\n label: 'Fødselsnummer (11 siffer)',\n errorRequired:\n 'Ugyldig fødselsnummer. Skriv inn et gyldig fødselsnummer med 11 siffer.',\n },\n OrganizationNumber: {\n label: 'Organisasjonsnummer',\n errorRequired: 'Du må fylle inn et organisasjonsnummer.',\n errorPattern: 'Dette er ikke et gyldig organisasjonsnummer.',\n },\n BankAccountNumber: {\n label: 'Bankkonto',\n errorRequired:\n 'Skriv inn et gyldig kontonummer. Kontonummeret må fylles ut.',\n errorPattern: 'Dette er ikke et gyldig kontonummer.',\n },\n PhoneNumber: {\n label: 'Mobilnummer',\n countryCodeLabel: 'Landskode',\n errorRequired:\n 'Mobilnummer må fylles ut. Hvis du ikke har et mobilnummer, kan du oppgi et annet telefonnummer.',\n warningRequired:\n 'Du har ikke skrevet inn et mobilnummer. Du kan likevel bruke dette nummeret hvis det er riktig.',\n },\n PostalCodeAndCity: {\n label: 'Postnummer og sted',\n },\n PostalCode: {\n label: 'Postnr.',\n errorRequired: 'Du må fylle inn et postnummer.',\n errorPattern: 'Dette er ikke et gyldig postnummer (fire siffer).',\n },\n City: {\n label: 'Sted',\n errorRequired: 'Du må fylle inn et stedsnavn.',\n errorPattern:\n 'Stedsnavn kan kun inneholde bokstaver og gyldige tegn som bindestrek og mellomrom.',\n },\n SelectCountry: {\n label: 'Land',\n placeholder: 'Velg et land',\n errorRequired: 'Du må velge et land fra listen.',\n },\n Password: {\n label: 'Passord',\n ariaLabelShow: 'Vis passord',\n ariaLabelHide: 'Skjul passord',\n },\n },\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nb-NO.js","names":["Field","errorSummaryTitle","stateSummary","errorSummary","errorRequired","errorPattern","SubmitButton","text","sendText","Step","summaryTitle","WizardEditButton","WizardPreviousButton","WizardNextButton","RemoveButton","IterateViewContainer","removeButton","editButton","SectionViewContainer","SectionEditContainer","doneButton","cancelButton","errorInSection","IterateEditContainer","StringField","errorMinLength","errorMaxLength","NumberField","errorMinimum","errorMaximum","errorExclusiveMinimum","errorExclusiveMaximum","errorMultipleOf","BooleanField","yes","no","Date","label","Expiry","Email","FirstName","LastName","CompanyName","NationalIdentityNumber","OrganizationNumber","BankAccountNumber","PhoneNumber","countryCodeLabel","warningRequired","PostalCodeAndCity","PostalCode","City","SelectCountry","placeholder","Password","ariaLabelShow","ariaLabelHide","Upload","errorInvalidFiles"],"sources":["../../../../../../src/extensions/forms/constants/locales/nb-NO.ts"],"sourcesContent":["export default {\n 'nb-NO': {\n /**\n * General\n */\n Field: {\n errorSummaryTitle: 'Feil som må rettes',\n stateSummary: 'Oppsummering:',\n errorSummary: 'Feil som må rettes:',\n errorRequired: 'Dette feltet må fylles ut.',\n errorPattern: 'Verdien er ugyldig.',\n },\n SubmitButton: {\n text: 'Send',\n sendText: 'Send inn',\n },\n Step: {\n summaryTitle: 'Oppsummering',\n },\n WizardEditButton: {\n text: 'Endre',\n },\n WizardPreviousButton: {\n text: 'Tilbake',\n },\n WizardNextButton: {\n text: 'Neste',\n },\n RemoveButton: {\n text: 'Fjern',\n },\n IterateViewContainer: {\n removeButton: 'Fjern',\n editButton: 'Endre',\n },\n SectionViewContainer: {\n editButton: 'Endre',\n },\n SectionEditContainer: {\n doneButton: 'Ferdig',\n cancelButton: 'Avbryt',\n errorInSection: 'Feilene ovenfor må rettes',\n },\n IterateEditContainer: {\n removeButton: 'Fjern',\n doneButton: 'Ferdig',\n cancelButton: 'Avbryt',\n errorInSection: 'Feilene ovenfor må rettes',\n },\n\n /**\n * Base fields\n */\n StringField: {\n errorMinLength:\n 'Verdien kan ikke være kortere enn {minLength} tegn.',\n errorMaxLength: 'Verdien kan ikke være lengre enn {maxLength} tegn.',\n },\n NumberField: {\n errorMinimum: 'Verdien må være minst {minimum}.',\n errorMaximum: 'Verdien må være maksimalt {maximum}.',\n errorExclusiveMinimum:\n 'Verdien må være større enn {exclusiveMinimum}.',\n errorExclusiveMaximum:\n 'Verdien må være mindre enn {exclusiveMaximum}.',\n errorMultipleOf: 'Verdien må være et multiplum av {multipleOf}.',\n },\n BooleanField: {\n yes: 'Ja',\n no: 'Nei',\n },\n\n /**\n * Feature fields\n */\n Date: {\n label: 'Dato',\n errorRequired: 'Du må angi en gyldig dato.',\n },\n Expiry: {\n label: 'Utløpsdato',\n },\n Email: {\n label: 'E-postadresse',\n errorRequired: 'Du må fylle inn en e-postadresse.',\n errorPattern: 'Ugyldig e-postadresse. Skriv inn en e-postadresse.',\n },\n FirstName: {\n label: 'Fornavn',\n errorRequired: 'Du må fylle inn fornavn.',\n errorPattern:\n 'Kun bokstaver og tegn som bindestrek og mellomrom er tillatt.',\n },\n LastName: {\n label: 'Etternavn',\n errorRequired: 'Du må fylle inn etternavn.',\n errorPattern:\n 'Kun bokstaver og tegn som bindestrek og mellomrom er tillatt.',\n },\n CompanyName: {\n label: 'Firmanavn',\n errorRequired: 'Du må fylle inn firmanavn.',\n },\n NationalIdentityNumber: {\n label: 'Fødselsnummer (11 siffer)',\n errorRequired:\n 'Ugyldig fødselsnummer. Skriv inn et gyldig fødselsnummer med 11 siffer.',\n },\n OrganizationNumber: {\n label: 'Organisasjonsnummer',\n errorRequired: 'Du må fylle inn et organisasjonsnummer.',\n errorPattern: 'Dette er ikke et gyldig organisasjonsnummer.',\n },\n BankAccountNumber: {\n label: 'Bankkonto',\n errorRequired:\n 'Skriv inn et gyldig kontonummer. Kontonummeret må fylles ut.',\n errorPattern: 'Dette er ikke et gyldig kontonummer.',\n },\n PhoneNumber: {\n label: 'Mobilnummer',\n countryCodeLabel: 'Landskode',\n errorRequired:\n 'Mobilnummer må fylles ut. Hvis du ikke har et mobilnummer, kan du oppgi et annet telefonnummer.',\n warningRequired:\n 'Du har ikke skrevet inn et mobilnummer. Du kan likevel bruke dette nummeret hvis det er riktig.',\n },\n PostalCodeAndCity: {\n label: 'Postnummer og sted',\n },\n PostalCode: {\n label: 'Postnr.',\n errorRequired: 'Du må fylle inn et postnummer.',\n errorPattern: 'Dette er ikke et gyldig postnummer (fire siffer).',\n },\n City: {\n label: 'Sted',\n errorRequired: 'Du må fylle inn et stedsnavn.',\n errorPattern:\n 'Stedsnavn kan kun inneholde bokstaver og gyldige tegn som bindestrek og mellomrom.',\n },\n SelectCountry: {\n label: 'Land',\n placeholder: 'Velg et land',\n errorRequired: 'Du må velge et land fra listen.',\n },\n Password: {\n label: 'Passord',\n ariaLabelShow: 'Vis passord',\n ariaLabelHide: 'Skjul passord',\n },\n Upload: {\n errorRequired: 'Du må laste opp minst en fil.',\n errorInvalidFiles: 'Fjern alle filer som har feil.',\n },\n },\n}\n"],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ import { ContextState } from '../DataContext';
|
|
|
4
4
|
export type DataAttributes = {
|
|
5
5
|
[property: `data-${string}`]: string | boolean | number;
|
|
6
6
|
};
|
|
7
|
-
export default function useFieldProps<Value = unknown, Props extends FieldProps<Value> = FieldProps<Value>>(localeProps: Props
|
|
7
|
+
export default function useFieldProps<Value = unknown, Props extends FieldProps<Value> = FieldProps<Value>>(localeProps: Props, { executeOnChangeRegardlessOfError }?: {
|
|
8
|
+
executeOnChangeRegardlessOfError?: boolean;
|
|
9
|
+
}): Props & FieldProps<Value> & ReturnAdditional<Value>;
|
|
8
10
|
export interface ReturnAdditional<Value> {
|
|
9
11
|
/** Documented APIs */
|
|
10
12
|
value: Value;
|
|
@@ -25,7 +25,9 @@ import { createSharedState, useSharedState } from '../../../shared/helpers/useSh
|
|
|
25
25
|
import { isAsync } from '../../../shared/helpers/isAsync';
|
|
26
26
|
import useTranslation from './useTranslation';
|
|
27
27
|
import useExternalValue from './useExternalValue';
|
|
28
|
-
export default function useFieldProps(localeProps
|
|
28
|
+
export default function useFieldProps(localeProps, {
|
|
29
|
+
executeOnChangeRegardlessOfError = false
|
|
30
|
+
} = {}) {
|
|
29
31
|
var _dataContext$props, _useExternalValue, _dataContext$ajvInsta, _localErrorRef$curren, _ref, _props$path, _props$autoComplete;
|
|
30
32
|
const {
|
|
31
33
|
extend
|
|
@@ -99,6 +101,7 @@ export default function useFieldProps(localeProps) {
|
|
|
99
101
|
setFieldProps: setPropsDataContext,
|
|
100
102
|
setHasVisibleError: setHasVisibleErrorDataContext,
|
|
101
103
|
errors: dataContextErrors,
|
|
104
|
+
showAllErrors,
|
|
102
105
|
contextErrorMessages
|
|
103
106
|
} = dataContext !== null && dataContext !== void 0 ? dataContext : {};
|
|
104
107
|
const onChangeContext = dataContext === null || dataContext === void 0 ? void 0 : (_dataContext$props = dataContext.props) === null || _dataContext$props === void 0 ? void 0 : _dataContext$props.onChange;
|
|
@@ -534,7 +537,7 @@ export default function useFieldProps(localeProps) {
|
|
|
534
537
|
handleChangeEventResult();
|
|
535
538
|
}, [handleChangeEventResult]);
|
|
536
539
|
const callOnChangeContext = useCallback(async () => {
|
|
537
|
-
if (asyncBehaviorIsEnabled) {
|
|
540
|
+
if (asyncBehaviorIsEnabled && !executeOnChangeRegardlessOfError) {
|
|
538
541
|
await yieldAsyncProcess({
|
|
539
542
|
name: 'onChangeContext',
|
|
540
543
|
waitFor: [{
|
|
@@ -551,7 +554,7 @@ export default function useFieldProps(localeProps) {
|
|
|
551
554
|
if (hasPath) {
|
|
552
555
|
if (isAsync(onChangeContext)) {
|
|
553
556
|
defineAsyncProcess('onChangeContext');
|
|
554
|
-
if (!hasError()) {
|
|
557
|
+
if (!hasError() || executeOnChangeRegardlessOfError) {
|
|
555
558
|
setEventResult(await (handlePathChangeDataContext === null || handlePathChangeDataContext === void 0 ? void 0 : handlePathChangeDataContext(identifier)));
|
|
556
559
|
} else {
|
|
557
560
|
setEventResult(null);
|
|
@@ -561,7 +564,7 @@ export default function useFieldProps(localeProps) {
|
|
|
561
564
|
}
|
|
562
565
|
}
|
|
563
566
|
forceUpdate();
|
|
564
|
-
}, [asyncBehaviorIsEnabled, hasPath, yieldAsyncProcess,
|
|
567
|
+
}, [asyncBehaviorIsEnabled, executeOnChangeRegardlessOfError, hasPath, yieldAsyncProcess, onChangeContext, defineAsyncProcess, hasError, setEventResult, handlePathChangeDataContext, identifier]);
|
|
565
568
|
const updateValue = useCallback(async newValue => {
|
|
566
569
|
if (newValue === valueRef.current) {
|
|
567
570
|
return;
|
|
@@ -692,13 +695,13 @@ export default function useFieldProps(localeProps) {
|
|
|
692
695
|
}
|
|
693
696
|
}, [dataContext.data, dataContext.id, hasPath, identifier, updateDataValueDataContext, validateDataDataContext, valueProp]);
|
|
694
697
|
useEffect(() => {
|
|
695
|
-
if (
|
|
698
|
+
if (showAllErrors) {
|
|
696
699
|
if (fieldStateRef.current !== 'validating') {
|
|
697
700
|
showError();
|
|
698
701
|
forceUpdate();
|
|
699
702
|
}
|
|
700
703
|
}
|
|
701
|
-
}, [
|
|
704
|
+
}, [showAllErrors, showError]);
|
|
702
705
|
useEffect(() => {
|
|
703
706
|
if (dataContext.formState === 'pending' && (validatorRef.current || onBlurValidatorRef.current)) {
|
|
704
707
|
hideError();
|
|
@@ -789,22 +792,23 @@ export default function useFieldProps(localeProps) {
|
|
|
789
792
|
htmlAttributes['aria-describedby'] = combineDescribedBy(htmlAttributes, ids);
|
|
790
793
|
}
|
|
791
794
|
}
|
|
792
|
-
const
|
|
795
|
+
const fieldBlockProps = {
|
|
793
796
|
info: !inFieldBlock ? infoRef.current : undefined,
|
|
794
797
|
warning: !inFieldBlock ? warningRef.current : undefined,
|
|
795
798
|
error: !inFieldBlock ? error : undefined,
|
|
796
799
|
disabled: onBlurValidator && asyncProcessRef.current === 'onBlurValidator' && fieldStateRef.current === 'validating' ? true : disabled,
|
|
797
800
|
fieldState: resolveValidatingState(fieldStateRef.current)
|
|
798
801
|
};
|
|
799
|
-
const sharedData = useSharedState(id);
|
|
800
|
-
sharedData.set(
|
|
801
|
-
return _objectSpread(_objectSpread(_objectSpread({}, props),
|
|
802
|
+
const sharedData = useSharedState('field-block-props-' + id);
|
|
803
|
+
sharedData.set(fieldBlockProps);
|
|
804
|
+
return _objectSpread(_objectSpread(_objectSpread({}, props), fieldBlockProps), {}, {
|
|
802
805
|
name: props.name || ((_props$path = props.path) === null || _props$path === void 0 ? void 0 : _props$path.replace('/', '')) || id,
|
|
803
806
|
autoComplete: (_props$autoComplete = props.autoComplete) !== null && _props$autoComplete !== void 0 ? _props$autoComplete : dataContext.autoComplete === true ? 'on' : undefined,
|
|
804
807
|
id,
|
|
805
808
|
value: transformers.current.transformIn(transformers.current.toInput(valueRef.current)),
|
|
806
809
|
hasError: hasVisibleError,
|
|
807
810
|
isChanged: changedRef.current,
|
|
811
|
+
props,
|
|
808
812
|
htmlAttributes,
|
|
809
813
|
setHasFocus,
|
|
810
814
|
handleFocus,
|