@dnb/eufemia 10.73.0 → 10.73.1
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 +23 -0
- package/cjs/components/autocomplete/Autocomplete.d.ts +4 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js +5 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/modal/ModalDocs.js +3 -3
- package/cjs/components/modal/ModalDocs.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +7 -4
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -5
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +2 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +8 -4
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
- package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +12 -8
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
- package/cjs/extensions/forms/style/dnb-forms.css +19 -7
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +18 -7
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +19 -7
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +19 -7
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +36 -14
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +19 -7
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +19 -7
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.d.ts +4 -0
- package/components/autocomplete/AutocompleteDocs.js +5 -0
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/modal/ModalDocs.js +3 -3
- package/components/modal/ModalDocs.js.map +1 -1
- package/components/upload/UploadFileList.js +7 -4
- package/components/upload/UploadFileList.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +4 -0
- package/es/components/autocomplete/AutocompleteDocs.js +5 -0
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/modal/ModalDocs.js +3 -3
- package/es/components/modal/ModalDocs.js.map +1 -1
- package/es/components/upload/UploadFileList.js +7 -4
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -5
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.js +2 -1
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +8 -4
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
- package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +12 -8
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
- package/es/extensions/forms/style/dnb-forms.css +19 -7
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +18 -7
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +19 -7
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +19 -7
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +36 -14
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +19 -7
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +19 -7
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -5
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
- package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.js +2 -1
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +8 -4
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
- package/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
- package/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +12 -8
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
- package/extensions/forms/style/dnb-forms.css +19 -7
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +18 -7
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +19 -7
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +19 -7
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +36 -14
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +19 -7
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +19 -7
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","useId","HelpButtonInline","HelpButtonInlineContent","SubmitIndicator","createSharedState","useTranslation","FormError","useIterateItemNo","states","FieldBlock","props","_props$id","dataContext","fieldBlockContext","nestedFieldBlockContext","disableStatusSummary","id","forId","sharedData","_Object$assign","Object","assign","data","className","layout","layoutOptions","composition","label","labelProp","labelDescription","labelDescriptionInline","labelSuffix","labelSrOnly","labelSize","labelHeight","help","asFieldset","required","info","warning","error","fieldState","disabled","width","contentWidth","align","contentClassName","children","rest","_objectWithoutProperties","_excluded","hasCustomWidth","test","String","hasCustomContentWidth","infoRef","warningRef","errorRef","blockId","salt","forceUpdate","mountedFieldsRef","Map","fieldStateRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorPropRef","Boolean","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setBlockRecordNested","setBlockRecord","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","reduce","acc","cur","existing","find","messages","getMessagesFromError","message","undefined","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","i","arr","length","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","size","mainStyle","_lO$minWidth","_lO$maxWidth","style","lO","min","getFieldWidth","minWidth","max","maxWidth","prerenderFieldProps","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","hasHelp","title","hasOnlyLabelDescription","Provider","value","hasErrorProp","_extends","contentId","_br","breakout","outset","parseFloat","ref","result","count","child","_child$props","_child$type","translations","Field","Fragment","errorSummary","stateSummary","key","getMessage","_error$formattedMessa","formattedMessage","Array","isArray","errors","Error","isValidElement","toString","fragment","Children","isUndefined","toArray","every","_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'\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 { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n SubmitState,\n Identifier,\n UseFieldProps,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\nimport { FormError } from '../utils'\nimport { useIterateItemNo } from '../Iterate/ItemNo/useIItemNo'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\n/**\n * The width of a field block\n */\nexport type CustomWidth = `${number}rem`\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n | CustomWidth\nexport type FieldBlockHorizontalLabelWidth =\n | 'small'\n | 'medium'\n | 'large'\n | CustomWidth\nexport type FieldBlockHorizontalLabelHeight =\n | 'default'\n | 'small'\n | 'medium'\n | 'large'\n\nexport type SharedFieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'vertical' | 'horizontal'\n /** Use this to set additional options for the layout */\n layoutOptions?: {\n width?: FieldBlockHorizontalLabelWidth\n minWidth?: FieldBlockHorizontalLabelWidth\n maxWidth?: FieldBlockHorizontalLabelWidth\n }\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * If true, the labelDescription will be displayed on the same line as the label.\n */\n labelDescriptionInline?: boolean\n /**\n * Define the font-size of the label based on the [heading sizes](/uilib/elements/heading/) table.\n */\n labelSize?: 'medium' | 'large'\n /**\n * Width of outer block element\n */\n width?: FieldBlockWidth\n /**\n * Width of contents block, while label etc can be wider if space is available\n */\n contentWidth?: FieldBlockWidth\n /**\n * Provide help content for the field.\n */\n help?: HelpProps\n}\n\nexport type Props<Value = unknown> = SharedFieldBlockProps &\n Pick<\n FieldProps<Value>,\n keyof ComponentProps | 'info' | 'warning' | 'error' | '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 /** 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 /** Defines the height of an component (size prop), so the label can be aligned correctly */\n labelHeight?: FieldBlockHorizontalLabelHeight\n /** Disable the error summary for this field block */\n disableStatusSummary?: boolean\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n } & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock<Value = unknown>(props: Props<Value>) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const nestedFieldBlockContext = !fieldBlockContext?.disableStatusSummary\n ? fieldBlockContext\n : null\n\n const id = useId(props.id ?? props.forId)\n const sharedData = createSharedState<Props>('field-block-props-' + id)\n const {\n className,\n forId,\n layout = 'vertical',\n layoutOptions,\n composition,\n label: labelProp,\n labelDescription,\n labelDescriptionInline,\n labelSuffix,\n labelSrOnly,\n labelSize,\n labelHeight,\n help,\n asFieldset,\n required,\n info,\n warning,\n error,\n disableStatusSummary,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n const hasCustomWidth = /\\d(rem)$/.test(String(width))\n const hasCustomContentWidth = /\\d(rem)$/.test(String(contentWidth))\n\n const infoRef = useRef<UseFieldProps['info']>()\n const warningRef = useRef<UseFieldProps['warning']>()\n const errorRef = useRef<UseFieldProps['error']>()\n\n const blockId = useId(props.id)\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>(new Map())\n const fieldStateRef = useRef<SubmitState>(null)\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorPropRef = useRef(Boolean(error))\n\n const label = useIterateItemNo({\n label: labelProp,\n labelSuffix,\n required,\n })\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 setBlockRecordNested = nestedFieldBlockContext?.setBlockRecord\n const setBlockRecord = useCallback(\n (props: StateBasis) => {\n if (setBlockRecordNested) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n setBlockRecordNested(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [setBlockRecordNested, setInternalRecord]\n )\n\n const setFieldState = useCallback(\n (identifier: Identifier, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current) {\n fieldStateRef.current = fieldState\n\n forceUpdate()\n }\n },\n []\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 error !== 'undefined' || (errorRef.current && !error)) {\n errorRef.current = error\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorPropRef.current,\n type: 'error',\n content: error,\n })\n }\n\n if (typeof warning !== 'undefined' || warningRef.current !== warning) {\n warningRef.current = warning\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined' || infoRef.current !== info) {\n infoRef.current = info\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 messages = getMessagesFromError(cur).map((message) => {\n return {\n ...cur,\n message,\n }\n })\n\n if (existing) {\n existing.messages.push(...messages)\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages,\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 children: <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 }, salt) as StatusContent\n }, [\n error,\n warning,\n info,\n salt,\n setInternalRecord,\n blockId,\n props.id,\n forId,\n label,\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(error))\n }\n }, [error, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = new Map()\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width &&\n `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`,\n contentWidth &&\n `dnb-forms-field-block--content-width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`,\n composition && 'dnb-forms-field-block__composition',\n composition &&\n `dnb-forms-field-block__composition--${\n composition === true ? 'horizontal' : composition\n }`,\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 id: `${id}-label`,\n className: 'dnb-forms-field-block__label',\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: 0, // Use CSS for spacing, but we need to reset space for doing so\n size: labelSize,\n disabled,\n }\n\n const mainStyle = useMemo(() => {\n const style: React.CSSProperties = {}\n\n if (hasCustomWidth) {\n style['--dnb-forms-field-block-width'] = width\n }\n\n if (hasCustomContentWidth) {\n style['--dnb-forms-field-block-content-width'] = contentWidth\n }\n\n const lO = layoutOptions || {}\n const min = getFieldWidth(lO.minWidth ?? lO.width)\n const max = getFieldWidth(lO.maxWidth ?? lO.width)\n\n if (typeof min === 'string') {\n style['--dnb-forms-field-block-layout-width-min'] = min\n }\n if (typeof max === 'string') {\n style['--dnb-forms-field-block-layout-width-max'] = max\n }\n\n return style\n }, [\n contentWidth,\n hasCustomContentWidth,\n hasCustomWidth,\n layoutOptions,\n width,\n ])\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n const hasHelp = help?.title || help?.content\n const hasOnlyLabelDescription = !label && hasLabelDescription\n\n return (\n <FieldBlockContext.Provider\n value={{\n setBlockRecord,\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(error),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n disableStatusSummary,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n style={mainStyle}\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {(label || labelDescription || hasHelp) && (\n <FormLabel {...labelProps}>\n <span>\n {label && (\n <span className=\"dnb-forms-field-block__label__content\">\n {label}\n </span>\n )}\n\n {hasHelp && !hasOnlyLabelDescription && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n\n {label &&\n hasLabelDescription &&\n !labelDescriptionInline && <br />}\n\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label__description\">\n {labelDescription}\n </span>\n )}\n\n {hasHelp && hasOnlyLabelDescription && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n </span>\n </FormLabel>\n )}\n\n {hasHelp && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n className=\"dnb-forms-field-block__help\"\n help={help}\n breakout={\n layout === 'vertical' &&\n !nestedFieldBlockContext?.composition\n }\n outset={layout !== 'horizontal'}\n />\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__status',\n\n // Handle the width of the status messages\n contentWidth &&\n contentWidth !== 'small' &&\n contentWidth !== 'medium' &&\n !(parseFloat(contentWidth) <= 11) &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`\n )}\n >\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-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n\n <SubmitIndicator\n state={fieldState ?? fieldStateRef.current}\n className=\"dnb-forms-field-block__indicator dnb-forms-submit-indicator--inline-wrap\"\n />\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 getMessage(error: FormError | Error) {\n if (error instanceof FormError) {\n return error.formattedMessage ?? error.message\n }\n\n return error.message\n}\n\nexport function getMessagesFromError(\n item: Partial<StateWithMessage>\n): Array<StateMessage> {\n const { content } = item\n\n if (content instanceof FormError && Array.isArray(content.errors)) {\n return content.errors.map((content) => {\n return getMessage(content)\n })\n }\n\n if (Array.isArray(content)) {\n return content.map((content) => {\n return content instanceof FormError || content instanceof Error\n ? getMessage(content)\n : content\n })\n }\n\n if (content instanceof FormError || content instanceof Error) {\n return [getMessage(content)]\n }\n\n return [\n ((React.isValidElement(content) ? content : content?.toString()) ||\n content) as StateMessage,\n ]\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n\nfunction getFieldWidth(width: FieldBlockHorizontalLabelWidth) {\n switch (width) {\n case 'small':\n return 'var(--forms-field-width--small)'\n case 'medium':\n return 'var(--forms-field-width--medium)'\n case 'large':\n return 'var(--forms-field-width--large)'\n }\n\n return width\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FieldBlock.js","names":["React","useMemo","useContext","useCallback","useRef","useReducer","useEffect","classnames","FieldBlockContext","DataContext","Space","FormLabel","FormStatus","Ul","Li","convertJsxToString","findElementInChildren","useId","HelpButtonInline","HelpButtonInlineContent","SubmitIndicator","createSharedState","useTranslation","FormError","useIterateItemNo","states","FieldBlock","props","_props$id","dataContext","fieldBlockContext","nestedFieldBlockContext","disableStatusSummary","id","forId","sharedData","_Object$assign","Object","assign","data","className","layout","layoutOptions","composition","label","labelProp","labelDescription","labelDescriptionInline","labelSuffix","labelSrOnly","labelSize","labelHeight","help","asFieldset","required","info","warning","error","fieldState","disabled","width","contentWidth","align","contentClassName","children","rest","_objectWithoutProperties","_excluded","hasCustomWidth","test","String","hasCustomContentWidth","infoRef","warningRef","errorRef","blockId","salt","forceUpdate","mountedFieldsRef","Map","fieldStateRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorPropRef","Boolean","setInternalRecord","stateId","identifier","type","current","existingIndex","findIndex","item","_objectSpread","push","setBlockRecordNested","setBlockRecord","setFieldState","showFieldError","show","map","showInitially","statusContent","content","statesWithMessages","entries","flatMap","reduce","acc","cur","existing","find","messages","getMessagesFromError","message","undefined","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","filter","i","arr","length","createElement","CombineMessages","mainClasses","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","size","mainStyle","_lO$minWidth","_lO$maxWidth","style","lO","min","getFieldWidth","minWidth","max","maxWidth","prerenderFieldProps","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","hasHelp","title","hasOnlyLabelDescription","Provider","value","hasErrorProp","_extends","contentId","_br","breakout","outset","parseFloat","ref","result","count","child","_child$props","_child$type","translations","Field","Fragment","errorSummary","stateSummary","key","getMessage","_error$formattedMessa","formattedMessage","Array","isArray","errors","Error","isValidElement","toString","fragment","Children","isUndefined","toArray","every","_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'\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 { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n SubmitState,\n Identifier,\n UseFieldProps,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\nimport { FormError } from '../utils'\nimport { useIterateItemNo } from '../Iterate/ItemNo/useIItemNo'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\n/**\n * The width of a field block\n */\nexport type CustomWidth = `${number}rem`\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n | CustomWidth\nexport type FieldBlockHorizontalLabelWidth =\n | 'small'\n | 'medium'\n | 'large'\n | CustomWidth\nexport type FieldBlockHorizontalLabelHeight =\n | 'default'\n | 'small'\n | 'medium'\n | 'large'\n\nexport type SharedFieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'vertical' | 'horizontal'\n /** Use this to set additional options for the layout */\n layoutOptions?: {\n width?: FieldBlockHorizontalLabelWidth\n minWidth?: FieldBlockHorizontalLabelWidth\n maxWidth?: FieldBlockHorizontalLabelWidth\n }\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * If true, the labelDescription will be displayed on the same line as the label.\n */\n labelDescriptionInline?: boolean\n /**\n * Define the font-size of the label based on the [heading sizes](/uilib/elements/heading/) table.\n */\n labelSize?: 'medium' | 'large'\n /**\n * Width of outer block element\n */\n width?: FieldBlockWidth\n /**\n * Width of contents block, while label etc can be wider if space is available\n */\n contentWidth?: FieldBlockWidth\n /**\n * Provide help content for the field.\n */\n help?: HelpProps\n}\n\nexport type Props<Value = unknown> = SharedFieldBlockProps &\n Pick<\n FieldProps<Value>,\n keyof ComponentProps | 'info' | 'warning' | 'error' | '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 /** 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 /** Defines the height of an component (size prop), so the label can be aligned correctly */\n labelHeight?: FieldBlockHorizontalLabelHeight\n /** Disable the error summary for this field block */\n disableStatusSummary?: boolean\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n } & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock<Value = unknown>(props: Props<Value>) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const nestedFieldBlockContext = !fieldBlockContext?.disableStatusSummary\n ? fieldBlockContext\n : null\n\n const id = useId(props.id ?? props.forId)\n const sharedData = createSharedState<Props>('field-block-props-' + id)\n const {\n className,\n forId,\n layout = 'vertical',\n layoutOptions,\n composition,\n label: labelProp,\n labelDescription,\n labelDescriptionInline,\n labelSuffix,\n labelSrOnly,\n labelSize,\n labelHeight,\n help,\n asFieldset,\n required,\n info,\n warning,\n error,\n disableStatusSummary,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n const hasCustomWidth = /\\d(rem)$/.test(String(width))\n const hasCustomContentWidth = /\\d(rem)$/.test(String(contentWidth))\n\n const infoRef = useRef<UseFieldProps['info']>()\n const warningRef = useRef<UseFieldProps['warning']>()\n const errorRef = useRef<UseFieldProps['error']>()\n\n const blockId = useId(props.id)\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>(new Map())\n const fieldStateRef = useRef<SubmitState>(null)\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorPropRef = useRef(Boolean(error))\n\n const label = useIterateItemNo({\n label: labelProp,\n labelSuffix,\n required,\n })\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 setBlockRecordNested = nestedFieldBlockContext?.setBlockRecord\n const setBlockRecord = useCallback(\n (props: StateBasis) => {\n if (setBlockRecordNested) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n setBlockRecordNested(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [setBlockRecordNested, setInternalRecord]\n )\n\n const setFieldState = useCallback(\n (identifier: Identifier, fieldState: SubmitState) => {\n if (fieldState !== fieldStateRef.current) {\n fieldStateRef.current = fieldState\n\n forceUpdate()\n }\n },\n []\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 error !== 'undefined' || (errorRef.current && !error)) {\n errorRef.current = error\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorPropRef.current,\n type: 'error',\n content: error,\n })\n }\n\n if (typeof warning !== 'undefined' || warningRef.current !== warning) {\n warningRef.current = warning\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined' || infoRef.current !== info) {\n infoRef.current = info\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 messages = getMessagesFromError(cur).map((message) => {\n return {\n ...cur,\n message,\n }\n })\n\n if (existing) {\n existing.messages.push(...messages)\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages,\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 children: <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 }, salt) as StatusContent\n }, [\n error,\n warning,\n info,\n salt,\n setInternalRecord,\n blockId,\n props.id,\n forId,\n label,\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(error))\n }\n }, [error, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = new Map()\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width &&\n `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`,\n contentWidth &&\n `dnb-forms-field-block--content-width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n labelHeight && `dnb-forms-field-block--label-height-${labelHeight}`,\n composition && 'dnb-forms-field-block__composition',\n composition &&\n `dnb-forms-field-block__composition--${\n composition === true ? 'horizontal' : composition\n }`,\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 id: `${id}-label`,\n className: 'dnb-forms-field-block__label',\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: 0, // Use CSS for spacing, but we need to reset space for doing so\n size: labelSize,\n disabled,\n }\n\n const mainStyle = useMemo(() => {\n const style: React.CSSProperties = {}\n\n if (hasCustomWidth) {\n style['--dnb-forms-field-block-width'] = width\n }\n\n if (hasCustomContentWidth) {\n style['--dnb-forms-field-block-content-width'] = contentWidth\n }\n\n const lO = layoutOptions || {}\n const min = getFieldWidth(lO.minWidth ?? lO.width)\n const max = getFieldWidth(lO.maxWidth ?? lO.width)\n\n if (typeof min === 'string') {\n style['--dnb-forms-field-block-layout-width-min'] = min\n }\n if (typeof max === 'string') {\n style['--dnb-forms-field-block-layout-width-max'] = max\n }\n\n return style\n }, [\n contentWidth,\n hasCustomContentWidth,\n hasCustomWidth,\n layoutOptions,\n width,\n ])\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n const hasHelp = help?.title || help?.content\n const hasOnlyLabelDescription = !label && hasLabelDescription\n\n return (\n <FieldBlockContext.Provider\n value={{\n setBlockRecord,\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(error),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n disableStatusSummary,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n style={mainStyle}\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n {(label || labelDescription || hasHelp) && (\n <FormLabel {...labelProps}>\n <span>\n {label && (\n <span className=\"dnb-forms-field-block__label__content\">\n {label}\n </span>\n )}\n\n {hasHelp && !hasOnlyLabelDescription && (\n <span className=\"dnb-help-button__word-joiner\">\n <HelpButtonInline\n contentId={`${id}-help`}\n help={help}\n />\n </span>\n )}\n\n {label &&\n hasLabelDescription &&\n !labelDescriptionInline && <br />}\n\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label__description\">\n {labelDescription}\n </span>\n )}\n\n {hasHelp && hasOnlyLabelDescription && (\n <span className=\"dnb-help-button__word-joiner\">\n <HelpButtonInline\n contentId={`${id}-help`}\n help={help}\n />\n </span>\n )}\n </span>\n </FormLabel>\n )}\n\n {hasHelp && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n className=\"dnb-forms-field-block__help\"\n help={help}\n breakout={\n layout === 'vertical' &&\n !nestedFieldBlockContext?.composition\n }\n outset={layout !== 'horizontal'}\n />\n )}\n\n <div\n className={classnames(\n 'dnb-forms-field-block__status',\n\n // Handle the width of the status messages\n contentWidth &&\n contentWidth !== 'small' &&\n contentWidth !== 'medium' &&\n !(parseFloat(contentWidth) <= 11) &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`\n )}\n >\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-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n\n <SubmitIndicator\n state={fieldState ?? fieldStateRef.current}\n className=\"dnb-forms-field-block__indicator dnb-forms-submit-indicator--inline-wrap\"\n />\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 getMessage(error: FormError | Error) {\n if (error instanceof FormError) {\n return error.formattedMessage ?? error.message\n }\n\n return error.message\n}\n\nexport function getMessagesFromError(\n item: Partial<StateWithMessage>\n): Array<StateMessage> {\n const { content } = item\n\n if (content instanceof FormError && Array.isArray(content.errors)) {\n return content.errors.map((content) => {\n return getMessage(content)\n })\n }\n\n if (Array.isArray(content)) {\n return content.map((content) => {\n return content instanceof FormError || content instanceof Error\n ? getMessage(content)\n : content\n })\n }\n\n if (content instanceof FormError || content instanceof Error) {\n return [getMessage(content)]\n }\n\n return [\n ((React.isValidElement(content) ? content : content?.toString()) ||\n content) as StateMessage,\n ]\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n\nfunction getFieldWidth(width: FieldBlockHorizontalLabelWidth) {\n switch (width) {\n case 'small':\n return 'var(--forms-field-width--small)'\n case 'medium':\n return 'var(--forms-field-width--medium)'\n case 'large':\n return 'var(--forms-field-width--large)'\n }\n\n return width\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
/*
|
|
2
3
|
* Utilities
|
|
3
4
|
*/
|
|
@@ -79,6 +80,13 @@ fieldset.dnb-forms-field-block:not([class*=space__right]) {
|
|
|
79
80
|
.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button, .dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+ .dnb-help-button), .dnb-forms-field-block__label.dnb-form-label:has(+ .dnb-help-button)) .dnb-forms-field-block__label__content, .dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button, .dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+ .dnb-help-button), .dnb-forms-field-block__label.dnb-form-label:has(+ .dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content, .dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+ .dnb-help-button), .dnb-forms-field-block__label.dnb-form-label:has(+ .dnb-help-button)) .dnb-forms-field-block__label__content, .dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description, .dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+ .dnb-help-button), .dnb-forms-field-block__label.dnb-form-label:has(+ .dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content {
|
|
80
81
|
margin-right: 0.3em;
|
|
81
82
|
}
|
|
83
|
+
.dnb-forms-field-block__label .dnb-help-button__word-joiner, .dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner {
|
|
84
|
+
margin-left: 0.45em;
|
|
85
|
+
white-space: nowrap;
|
|
86
|
+
}
|
|
87
|
+
.dnb-forms-field-block__label .dnb-help-button__word-joiner::before, .dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner::before {
|
|
88
|
+
content: "";
|
|
89
|
+
}
|
|
82
90
|
.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical {
|
|
83
91
|
flex-wrap: wrap;
|
|
84
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@charset "UTF-8";:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem;--forms-field-label-max-width--large:60ch}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}.dnb-forms-field-block{--label-margin:0.25rem}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(-webkit-min-content,var(--block-content-width,auto));grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}.dnb-forms-field-block--width-stretch label.dnb-form-label{max-width:none}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block:not([class*="--content-width"]){--max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--forms-field-label-max-width--large)}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label.dnb-form-label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description) .dnb-help-button,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label.dnb-form-label__content,.dnb-forms-field-block__label:has(.dnb-forms-field-block__label__description,.dnb-forms-field-block__label.dnb-form-label__description):not(.dnb-forms-field-block__label:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label:has(+.dnb-help-button)) .dnb-forms-field-block__label__content{margin-right:.3em}.dnb-forms-field-block__label .dnb-help-button__word-joiner,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner{margin-left:.45em;white-space:nowrap}.dnb-forms-field-block__label .dnb-help-button__word-joiner:before,.dnb-forms-field-block__label.dnb-form-label .dnb-help-button__word-joiner:before{content:""}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,-webkit-min-content),var(--dnb-forms-field-block-layout-width-max,-webkit-max-content)) auto;grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator;position:relative}.dnb-forms-field-block__indicator .dnb-forms-submit-indicator__content{position:absolute}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}.dnb-forms-field-block__contents--width-custom{--field-block-content-width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{--field-block-content-width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{--field-block-content-width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{--field-block-content-width:var(--forms-field-width--large)}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{max-width:var(--field-block-content-width,none)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__contents--width-custom,.dnb-forms-field-block__contents--width-large,.dnb-forms-field-block__contents--width-medium,.dnb-forms-field-block__contents--width-small{width:var(--field-block-content-width,-webkit-max-content);width:var(--field-block-content-width,max-content)}}.dnb-forms-field-block__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{column-gap:var(--spacing-small);display:flex;flex-flow:row;flex-wrap:wrap;row-gap:var(--spacing-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents>.dnb-forms-field-block--width-stretch{flex:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}
|
|
@@ -87,6 +87,15 @@ fieldset.dnb-forms-field-block {
|
|
|
87
87
|
&:has(&__description):not(&:has(+ .dnb-help-button)) &__content {
|
|
88
88
|
margin-right: 0.3em; // Keep the description closer to the label
|
|
89
89
|
}
|
|
90
|
+
.dnb-help-button__word-joiner {
|
|
91
|
+
margin-left: 0.45em; // Simulate a white-space
|
|
92
|
+
|
|
93
|
+
// Force help button to line break with last word
|
|
94
|
+
white-space: nowrap;
|
|
95
|
+
&::before {
|
|
96
|
+
content: '\2060';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
&__grid#{&}--layout-vertical {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
--block-outline-color: var(--color-black-8);
|
|
3
3
|
--block-outline-width: var(--card-outline-width);
|
|
4
4
|
}
|
|
5
|
-
.dnb-forms-section-block--error:has(.dnb-form-status--error) {
|
|
5
|
+
.dnb-forms-section-block--error:has(.dnb-form-status--error):not(.dnb-forms-section-block--variant-basic) {
|
|
6
6
|
--block-outline-color: var(--color-fire-red);
|
|
7
7
|
--block-outline-width: 0.0625rem;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-forms-section-block{--block-outline-color:var(--color-black-8);--block-outline-width:var(--card-outline-width)}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red);--block-outline-width:0.0625rem}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent;--block-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-card .dnb-forms-section-block .dnb-card,.dnb-forms-section-block .dnb-card{--card-outline-color:var(--block-outline-color);--card-outline-width:var(--block-outline-width)}
|
|
1
|
+
.dnb-forms-section-block{--block-outline-color:var(--color-black-8);--block-outline-width:var(--card-outline-width)}.dnb-forms-section-block--error:has(.dnb-form-status--error):not(.dnb-forms-section-block--variant-basic){--block-outline-color:var(--color-fire-red);--block-outline-width:0.0625rem}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent;--block-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-card .dnb-forms-section-block .dnb-card,.dnb-forms-section-block .dnb-card{--card-outline-color:var(--block-outline-color);--card-outline-width:var(--block-outline-width)}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
--block-outline-color: var(--color-black-8);
|
|
4
4
|
--block-outline-width: var(--card-outline-width);
|
|
5
5
|
|
|
6
|
-
&--error:has(.dnb-form-status--error) {
|
|
6
|
+
&--error:has(.dnb-form-status--error):not(#{&}--variant-basic) {
|
|
7
7
|
--block-outline-color: var(--color-fire-red);
|
|
8
8
|
--block-outline-width: 0.0625rem;
|
|
9
9
|
}
|
|
@@ -89,7 +89,7 @@ function ValueBlock(localProps) {
|
|
|
89
89
|
}, content) : content;
|
|
90
90
|
}, [hasHelp, help, id, summaryListLayout]);
|
|
91
91
|
let content = null;
|
|
92
|
-
const defaultClass = `dnb-forms-value-block__content dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}` + (maxWidth ? ` dnb-forms-value-
|
|
92
|
+
const defaultClass = `dnb-forms-value-block__content dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}` + (maxWidth ? ` dnb-forms-value-block__content--max-width-${maxWidth}` : "");
|
|
93
93
|
const compositionClass = isComposition && 'dnb-forms-value-block__composition--horizontal';
|
|
94
94
|
if (hide) {
|
|
95
95
|
return _Fragment || (_Fragment = React.createElement(React.Fragment, null));
|
|
@@ -113,12 +113,14 @@ function ValueBlock(localProps) {
|
|
|
113
113
|
isNested: true
|
|
114
114
|
})
|
|
115
115
|
}, React.createElement(Item, null, React.createElement(Dt, {
|
|
116
|
-
className: classnames('dnb-forms-value-block__label', (!label && !hasHelp || labelSrOnly) && 'dnb-sr-only', className
|
|
117
|
-
}, React.createElement(VisibilityWrapper, null, label && React.createElement("strong", null, label), hasHelp && React.createElement(
|
|
116
|
+
className: classnames('dnb-forms-value-block__label', (!label && !hasHelp || labelSrOnly) && 'dnb-sr-only', className)
|
|
117
|
+
}, React.createElement(VisibilityWrapper, null, label && React.createElement("strong", null, label), hasHelp && React.createElement("span", {
|
|
118
|
+
className: "dnb-help-button__word-joiner"
|
|
119
|
+
}, React.createElement(HelpButtonInline, {
|
|
118
120
|
contentId: `${id}-help`,
|
|
119
121
|
help: help
|
|
120
|
-
}))), React.createElement(Dd, {
|
|
121
|
-
className: compositionClass
|
|
122
|
+
})))), React.createElement(Dd, {
|
|
123
|
+
className: classnames(compositionClass, maxWidth && `dnb-forms-value-block__content--max-width-${maxWidth}`)
|
|
122
124
|
}, React.createElement(VisibilityWrapper, null, !isCompositionInContextWithoutLabel ? getHelpContent(layout) : null, children ? React.createElement("span", {
|
|
123
125
|
className: defaultClass
|
|
124
126
|
}, children) : React.createElement("span", {
|
|
@@ -133,15 +135,17 @@ function ValueBlock(localProps) {
|
|
|
133
135
|
className: classnames('dnb-forms-value-block', compositionClass, className, inline && 'dnb-forms-value-block--inline')
|
|
134
136
|
}, pickSpacingProps(props)), (label || hasHelp) && React.createElement(FormLabel, {
|
|
135
137
|
element: "strong",
|
|
136
|
-
className: 'dnb-forms-value-block__label'
|
|
138
|
+
className: 'dnb-forms-value-block__label',
|
|
137
139
|
labelDirection: inline ? 'horizontal' : 'vertical',
|
|
138
140
|
srOnly: labelSrOnly
|
|
139
141
|
}, label && React.createElement("span", {
|
|
140
142
|
className: "dnb-forms-value-block__label__content"
|
|
141
|
-
}, label), hasHelp && React.createElement(
|
|
143
|
+
}, label), hasHelp && React.createElement("span", {
|
|
144
|
+
className: "dnb-help-button__word-joiner"
|
|
145
|
+
}, React.createElement(HelpButtonInline, {
|
|
142
146
|
contentId: `${id}-help`,
|
|
143
147
|
help: help
|
|
144
|
-
})), !isCompositionInContextWithoutLabel ? getHelpContent(layout) : null, children ? React.createElement("span", {
|
|
148
|
+
}))), !isCompositionInContextWithoutLabel ? getHelpContent(layout) : null, children ? React.createElement("span", {
|
|
145
149
|
className: defaultClass
|
|
146
150
|
}, children) : React.createElement("span", {
|
|
147
151
|
className: "dnb-forms-value-block__placeholder"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueBlock.js","names":["React","Fragment","useCallback","useContext","useEffect","useMemo","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueProviderContext","ValueBlockContext","DataContext","pickSpacingProps","IterateItemContext","convertJsxToString","VisibilityContext","Visibility","HelpButtonInline","HelpButtonInlineContent","useId","ValueBlock","localProps","_props$id","summaryListContext","valueBlockContext","prerenderFieldProps","index","iterateIndex","extend","props","id","forId","defaultLayout","isNested","className","label","labelProp","path","itemPath","labelSrOnly","transformLabel","inline","maxWidth","composition","placeholder","showEmpty","children","help","layout","gap","undefined","replace","String","transformLabelParameters","hide","isValueEmpty","hasHelp","title","content","isComposition","isCompositionInContext","isCompositionInContextWithoutLabel","ref","useNotInSummaryList","summaryListLayout","getHelpContent","renderOnNextLine","breakout","createElement","element","contentId","outset","defaultClass","compositionClass","_Fragment","Item","_span","Provider","value","_objectSpread","VisibilityWrapper","_extends","labelDirection","srOnly","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps","visibilityContext"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, {\n Fragment,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport type { DlProps } from '../../../elements/Dl'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueProviderContext from '../Value/Provider/ValueProviderContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Path, ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport IterateItemContext from '../Iterate/IterateItemContext'\nimport { convertJsxToString } from '../../../shared/component-helper'\nimport VisibilityContext from '../Form/Visibility/VisibilityContext'\nimport Visibility from '../Form/Visibility/Visibility'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport useId from '../../../shared/helpers/useId'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n id?: string\n\n /** The id to link a element with */\n forId?: string\n\n /**\n * Provide help content for the value.\n */\n help?: HelpProps\n\n /**\n * The layout of the value block.\n * (Undocumented for now, as there is only one layout option, vertical.)\n */\n layout?: 'vertical'\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n\n children?: React.ReactNode\n}\n\nfunction ValueBlock(localProps: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { prerenderFieldProps } = useContext(DataContext) || {}\n const { index: iterateIndex } = useContext(IterateItemContext) || {}\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localProps)\n\n const id = useId(props.id ?? props.forId)\n const defaultLayout = summaryListContext?.isNested\n ? 'horizontal'\n : 'vertical'\n\n const {\n className,\n label: labelProp,\n path,\n itemPath,\n labelSrOnly,\n transformLabel = (label: Props['label']) => label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n help,\n layout = defaultLayout,\n gap = 'xx-small',\n } = props\n\n const label = useMemo(() => {\n if (inline) {\n return null\n }\n\n let label = labelProp\n\n if (iterateIndex !== undefined) {\n label = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n return transformLabel(label, transformLabelParameters)\n }, [inline, iterateIndex, labelProp, transformLabel])\n\n const hide =\n prerenderFieldProps ||\n (isValueEmpty(children) && !showEmpty && !placeholder)\n const hasHelp = help?.title || help?.content\n const isComposition = composition === true\n const isCompositionInContext = valueBlockContext?.composition\n const isCompositionInContextWithoutLabel =\n !label && isCompositionInContext\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(\n isCompositionInContext ? null : ref,\n label,\n path,\n itemPath\n )\n\n const summaryListLayout = summaryListContext?.layout\n const getHelpContent = useCallback(\n (layout: DlProps['layout'], { renderOnNextLine = false } = {}) => {\n const breakout =\n layout === 'vertical' || summaryListLayout === 'vertical'\n const content = hasHelp && (\n <HelpButtonInlineContent\n element=\"span\"\n contentId={`${id}-help`}\n className=\"dnb-forms-value-block__help\"\n help={help}\n breakout={breakout}\n outset={breakout}\n />\n )\n\n return hasHelp && renderOnNextLine ? (\n <span className=\"dnb-forms-value-block__help--next-line\">\n {content}\n </span>\n ) : (\n content\n )\n },\n [hasHelp, help, id, summaryListLayout]\n )\n\n let content = null\n\n const defaultClass = classnames(\n 'dnb-forms-value-block__content',\n `dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}`,\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`\n )\n const compositionClass =\n isComposition && 'dnb-forms-value-block__composition--horizontal'\n\n if (hide) {\n return <></>\n }\n\n if (summaryListContext && !isCompositionInContextWithoutLabel) {\n const Item = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && !hasHelp && isCompositionInContext) {\n content = <span className={defaultClass}>{children}</span> ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n const defaultLayout =\n isCompositionInContext && label ? 'horizontal' : 'vertical'\n const { layout = defaultLayout } = summaryListContext\n\n content = (\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n <Item>\n <Dt\n className={classnames(\n 'dnb-forms-value-block__label',\n ((!label && !hasHelp) || labelSrOnly) && 'dnb-sr-only',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`,\n className\n )}\n >\n <VisibilityWrapper>\n {label && <strong>{label}</strong>}\n {hasHelp && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n </VisibilityWrapper>\n </Dt>\n <Dd className={compositionClass}>\n <VisibilityWrapper>\n {!isCompositionInContextWithoutLabel\n ? getHelpContent(layout)\n : null}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </VisibilityWrapper>\n </Dd>\n </Item>\n {isCompositionInContextWithoutLabel && hasHelp\n ? getHelpContent(layout, { renderOnNextLine: true })\n : null}\n </SummaryListContext.Provider>\n )\n }\n } else {\n content = (\n <>\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {(label || hasHelp) && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className={classnames(\n 'dnb-forms-value-block__label',\n maxWidth && `dnb-forms-value-block--max-width-${maxWidth}`\n )}\n labelDirection={inline ? 'horizontal' : 'vertical'}\n srOnly={labelSrOnly}\n >\n {label && (\n <span className=\"dnb-forms-value-block__label__content\">\n {label}\n </span>\n )}\n {hasHelp && (\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n )}\n </FormLabel>\n )}\n {!isCompositionInContextWithoutLabel\n ? getHelpContent(layout)\n : null}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n\n {isCompositionInContextWithoutLabel && hasHelp\n ? getHelpContent(layout, { renderOnNextLine: true })\n : null}\n </>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode,\n path?: Path,\n itemPath?: Path\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList:',\n { label, path, itemPath },\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [itemPath, label, path, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n\nconst transformLabelParameters = {\n convertJsxToString,\n} as unknown as Parameters<Props['transformLabel']>[1]\n\nfunction VisibilityWrapper({ children }) {\n const visibilityContext = useContext(VisibilityContext)\n\n if (visibilityContext) {\n return (\n <Visibility element=\"span\" {...visibilityContext.props}>\n {children}\n </Visibility>\n )\n }\n\n return children\n}\n\nexport function isValueEmpty(value: unknown) {\n return value === undefined || value === null || value === false\n}\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IACVC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,IAAI,QAAQ,mBAAmB;AAEpD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,OAAOC,kBAAkB,MAAM,yCAAyC;AACxE,OAAOC,oBAAoB,MAAM,wCAAwC;AACzE,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,WAAW,MAAM,wBAAwB;AAEhD,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,kBAAkB,MAAM,+BAA+B;AAC9D,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,UAAU,MAAM,+BAA+B;AACtD,OAAOC,gBAAgB,IACrBC,uBAAuB,QAElB,kDAAkD;AACzD,OAAOC,KAAK,MAAM,+BAA+B;AAmCjD,SAASC,UAAUA,CAACC,UAAiB,EAAE;EAAA,IAAAC,SAAA;EACrC,MAAMC,kBAAkB,GAAG1B,UAAU,CAACW,kBAAkB,CAAC;EACzD,MAAMgB,iBAAiB,GAAG3B,UAAU,CAACa,iBAAiB,CAAC;EACvD,MAAM;IAAEe;EAAoB,CAAC,GAAG5B,UAAU,CAACc,WAAW,CAAC,IAAI,CAAC,CAAC;EAC7D,MAAM;IAAEe,KAAK,EAAEC;EAAa,CAAC,GAAG9B,UAAU,CAACgB,kBAAkB,CAAC,IAAI,CAAC,CAAC;EAEpE,MAAM;IAAEe;EAAO,CAAC,GAAG/B,UAAU,CAACY,oBAAoB,CAAC;EACnD,MAAMoB,KAAK,GAAGD,MAAM,CAACP,UAAU,CAAC;EAEhC,MAAMS,EAAE,GAAGX,KAAK,EAAAG,SAAA,GAACO,KAAK,CAACC,EAAE,cAAAR,SAAA,cAAAA,SAAA,GAAIO,KAAK,CAACE,KAAK,CAAC;EACzC,MAAMC,aAAa,GAAGT,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEU,QAAQ,GAC9C,YAAY,GACZ,UAAU;EAEd,MAAM;IACJC,SAAS;IACTC,KAAK,EAAEC,SAAS;IAChBC,IAAI;IACJC,QAAQ;IACRC,WAAW;IACXC,cAAc,GAAIL,KAAqB,IAAKA,KAAK;IACjDM,MAAM;IACNC,QAAQ,GAAGb,KAAK,CAACc,WAAW,GAAGd,KAAK,CAACa,QAAQ,GAAG,OAAO;IACvDE,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRH,WAAW;IACXI,IAAI;IACJC,MAAM,GAAGhB,aAAa;IACtBiB,GAAG,GAAG;EACR,CAAC,GAAGpB,KAAK;EAET,MAAMM,KAAK,GAAGpC,OAAO,CAAC,MAAM;IAC1B,IAAI0C,MAAM,EAAE;MACV,OAAO,IAAI;IACb;IAEA,IAAIN,KAAK,GAAGC,SAAS;IAErB,IAAIT,YAAY,KAAKuB,SAAS,EAAE;MAC9Bf,KAAK,GAAGrB,kBAAkB,CAACsB,SAAS,CAAC,CAACe,OAAO,CAC3C,UAAU,EACVC,MAAM,CAACzB,YAAY,GAAG,CAAC,CACzB,CAAC;IACH;IAEA,OAAOa,cAAc,CAACL,KAAK,EAAEkB,wBAAwB,CAAC;EACxD,CAAC,EAAE,CAACZ,MAAM,EAAEd,YAAY,EAAES,SAAS,EAAEI,cAAc,CAAC,CAAC;EAErD,MAAMc,IAAI,GACR7B,mBAAmB,IAClB8B,YAAY,CAACT,QAAQ,CAAC,IAAI,CAACD,SAAS,IAAI,CAACD,WAAY;EACxD,MAAMY,OAAO,GAAG,CAAAT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEU,KAAK,MAAIV,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,OAAO;EAC5C,MAAMC,aAAa,GAAGhB,WAAW,KAAK,IAAI;EAC1C,MAAMiB,sBAAsB,GAAGpC,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEmB,WAAW;EAC7D,MAAMkB,kCAAkC,GACtC,CAAC1B,KAAK,IAAIyB,sBAAsB;EAElC,MAAME,GAAG,GAAG9D,MAAM,CAAc,IAAI,CAAC;EACrC+D,mBAAmB,CACjBH,sBAAsB,GAAG,IAAI,GAAGE,GAAG,EACnC3B,KAAK,EACLE,IAAI,EACJC,QACF,CAAC;EAED,MAAM0B,iBAAiB,GAAGzC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEyB,MAAM;EACpD,MAAMiB,cAAc,GAAGrE,WAAW,CAChC,CAACoD,MAAyB,EAAE;IAAEkB,gBAAgB,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAAK;IAChE,MAAMC,QAAQ,GACZnB,MAAM,KAAK,UAAU,IAAIgB,iBAAiB,KAAK,UAAU;IAC3D,MAAMN,OAAO,GAAGF,OAAO,IACrB9D,KAAA,CAAA0E,aAAA,CAAClD,uBAAuB;MACtBmD,OAAO,EAAC,MAAM;MACdC,SAAS,EAAE,GAAGxC,EAAE,OAAQ;MACxBI,SAAS,EAAC,6BAA6B;MACvCa,IAAI,EAAEA,IAAK;MACXoB,QAAQ,EAAEA,QAAS;MACnBI,MAAM,EAAEJ;IAAS,CAClB,CACF;IAED,OAAOX,OAAO,IAAIU,gBAAgB,GAChCxE,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAwC,GACrDwB,OACG,CAAC,GAEPA,OACD;EACH,CAAC,EACD,CAACF,OAAO,EAAET,IAAI,EAAEjB,EAAE,EAAEkC,iBAAiB,CACvC,CAAC;EAED,IAAIN,OAAO,GAAG,IAAI;EAElB,MAAMc,YAAY,yEAEuBvB,GAAG,KAAK,KAAK,GAAG,MAAM,GAAGA,GAAG,MACnEP,QAAQ,wCAAwCA,QAAQ,QACzD;EACD,MAAM+B,gBAAgB,GACpBd,aAAa,IAAI,gDAAgD;EAEnE,IAAIL,IAAI,EAAE;IACR,OAAAoB,SAAA,KAAAA,SAAA,GAAOhF,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAAC,QAAA,MAAI,CAAC;EACd;EAEA,IAAI4B,kBAAkB,IAAI,CAACsC,kCAAkC,EAAE;IAC7D,MAAMc,IAAI,GAAGpD,kBAAkB,CAACU,QAAQ,GACpC7B,EAAE,GACFmB,kBAAkB,CAACyB,MAAM,KAAK,YAAY,GAC1C5C,EAAE,CAACuE,IAAI,GACPhF,QAAQ;IAEZ,IAAI,CAACwC,KAAK,IAAI,CAACqB,OAAO,IAAII,sBAAsB,EAAE;MAAA,IAAAgB,KAAA;MAChDlB,OAAO,IAAAkB,KAAA,GAAGlF,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAEsC;MAAa,GAAE1B,QAAe,CAAC,cAAA8B,KAAA,cAAAA,KAAA,GACxDlF,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAC;MAAoC,GACjDU,WACG,CACP;IACH,CAAC,MAAM;MACL,MAAMZ,aAAa,GACjB4B,sBAAsB,IAAIzB,KAAK,GAAG,YAAY,GAAG,UAAU;MAC7D,MAAM;QAAEa,MAAM,GAAGhB;MAAc,CAAC,GAAGT,kBAAkB;MAErDmC,OAAO,GACLhE,KAAA,CAAA0E,aAAA,CAAC5D,kBAAkB,CAACqE,QAAQ;QAC1BC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOxD,kBAAkB;UAAEU,QAAQ,EAAE;QAAI;MAAG,GAEjDvC,KAAA,CAAA0E,aAAA,CAACO,IAAI,QACHjF,KAAA,CAAA0E,aAAA,CAAC/D,EAAE;QACD6B,SAAS,EAAEjC,UAAU,CACnB,8BAA8B,EAC9B,CAAE,CAACkC,KAAK,IAAI,CAACqB,OAAO,IAAKjB,WAAW,KAAK,aAAa,EAEtDL,SAAS,EADTQ,QAAQ,IAAI,oCAAoCA,QAAQ,EAE1D;MAAE,GAEFhD,KAAA,CAAA0E,aAAA,CAACY,iBAAiB,QACf7C,KAAK,IAAIzC,KAAA,CAAA0E,aAAA,iBAASjC,KAAc,CAAC,EACjCqB,OAAO,IACN9D,KAAA,CAAA0E,aAAA,CAACnD,gBAAgB;QAACqD,SAAS,EAAE,GAAGxC,EAAE,OAAQ;QAACiB,IAAI,EAAEA;MAAK,CAAE,CAEzC,CACjB,CAAC,EACLrD,KAAA,CAAA0E,aAAA,CAACjE,EAAE;QAAC+B,SAAS,EAAEuC;MAAiB,GAC9B/E,KAAA,CAAA0E,aAAA,CAACY,iBAAiB,QACf,CAACnB,kCAAkC,GAChCI,cAAc,CAACjB,MAAM,CAAC,GACtB,IAAI,EACPF,QAAQ,GACPpD,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAEsC;MAAa,GAAE1B,QAAe,CAAC,GAEhDpD,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAC;MAAoC,GACjDU,WACG,CAES,CACjB,CACA,CAAC,EACNiB,kCAAkC,IAAIL,OAAO,GAC1CS,cAAc,CAACjB,MAAM,EAAE;QAAEkB,gBAAgB,EAAE;MAAK,CAAC,CAAC,GAClD,IACuB,CAC9B;IACH;EACF,CAAC,MAAM;IACLR,OAAO,GACLhE,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAAC,QAAA,QACED,KAAA,CAAA0E,aAAA,CAAC9D,IAAI,EAAA2E,QAAA;MACHnB,GAAG,EAAEA,GAAI;MACT5B,SAAS,EAAEjC,UAAU,CACnB,uBAAuB,EAEvBwE,gBAAgB,EAChBvC,SAAS,EAFTO,MAAM,IAAI,+BAGZ;IAAE,GACE7B,gBAAgB,CAACiB,KAAK,CAAC,GAE1B,CAACM,KAAK,IAAIqB,OAAO,KAChB9D,KAAA,CAAA0E,aAAA,CAAC7D,SAAS;MACR8D,OAAO,EAAC,QAAQ;MAChBnC,SAAS,EACP,8BAA8B,IAC9BQ,QAAQ,wCAAwCA,QAAQ,QACxD;MACFwC,cAAc,EAAEzC,MAAM,GAAG,YAAY,GAAG,UAAW;MACnD0C,MAAM,EAAE5C;IAAY,GAEnBJ,KAAK,IACJzC,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAuC,GACpDC,KACG,CACP,EACAqB,OAAO,IACN9D,KAAA,CAAA0E,aAAA,CAACnD,gBAAgB;MAACqD,SAAS,EAAE,GAAGxC,EAAE,OAAQ;MAACiB,IAAI,EAAEA;IAAK,CAAE,CAEjD,CACZ,EACA,CAACc,kCAAkC,GAChCI,cAAc,CAACjB,MAAM,CAAC,GACtB,IAAI,EACPF,QAAQ,GACPpD,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAEsC;IAAa,GAAE1B,QAAe,CAAC,GAEhDpD,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAoC,GACjDU,WACG,CAEJ,CAAC,EAENiB,kCAAkC,IAAIL,OAAO,GAC1CS,cAAc,CAACjB,MAAM,EAAE;MAAEkB,gBAAgB,EAAE;IAAK,CAAC,CAAC,GAClD,IACJ,CACH;EACH;EAEA,OACExE,KAAA,CAAA0E,aAAA,CAAC1D,iBAAiB,CAACmE,QAAQ;IAACC,KAAK,EAAEjD;EAAM,GACtC6B,OACyB,CAAC;AAEjC;AAEA,SAASK,mBAAmBA,CAC1BD,GAAiC,EACjC3B,KAAuB,EACvBE,IAAW,EACXC,QAAe,EACf;EACAxC,SAAS,CAAC,MAAM;IACd,IAAIgE,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEsB,OAAO,EAAE;MAChB,IAAI;QACF,MAAMC,OAAO,GAAGvB,GAAG,CAACsB,OAAO,CAACE,sBAAsB;QAElD,IACED,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,SAAS,CAACC,QAAQ,CAAC,uBAAuB,CAAC,IACpD,CAAC1B,GAAG,CAACsB,OAAO,CAACK,OAAO,CAAC,yBAAyB,CAAC,EAC/C;UACAvF,IAAI,CAACwF,KAAK,CACRxF,IAAI,EACJ,CACE,4EAA4E,EAC5E;YAAEiC,KAAK;YAAEE,IAAI;YAAEC;UAAS,CAAC,CAC1B,CAACqD,MAAM,CAACC,OAAO,CAClB,CAAC;QACH;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE,CAEhB;IACF;EACF,CAAC,EAAE,CAACvD,QAAQ,EAAEH,KAAK,EAAEE,IAAI,EAAEyB,GAAG,CAAC,CAAC;AAClC;AAEA1C,UAAU,CAAC0E,qBAAqB,GAAG,IAAI;AACvC,eAAe1E,UAAU;AAEzB,MAAMiC,wBAAwB,GAAG;EAC/BvC;AACF,CAAsD;AAEtD,SAASkE,iBAAiBA,CAAC;EAAElC;AAAS,CAAC,EAAE;EACvC,MAAMiD,iBAAiB,GAAGlG,UAAU,CAACkB,iBAAiB,CAAC;EAEvD,IAAIgF,iBAAiB,EAAE;IACrB,OACErG,KAAA,CAAA0E,aAAA,CAACpD,UAAU,EAAAiE,QAAA;MAACZ,OAAO,EAAC;IAAM,GAAK0B,iBAAiB,CAAClE,KAAK,GACnDiB,QACS,CAAC;EAEjB;EAEA,OAAOA,QAAQ;AACjB;AAEA,OAAO,SAASS,YAAYA,CAACuB,KAAc,EAAE;EAC3C,OAAOA,KAAK,KAAK5B,SAAS,IAAI4B,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK;AACjE","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ValueBlock.js","names":["React","Fragment","useCallback","useContext","useEffect","useMemo","useRef","classnames","warn","Dd","Dl","Dt","Span","FormLabel","SummaryListContext","ValueProviderContext","ValueBlockContext","DataContext","pickSpacingProps","IterateItemContext","convertJsxToString","VisibilityContext","Visibility","HelpButtonInline","HelpButtonInlineContent","useId","ValueBlock","localProps","_props$id","summaryListContext","valueBlockContext","prerenderFieldProps","index","iterateIndex","extend","props","id","forId","defaultLayout","isNested","className","label","labelProp","path","itemPath","labelSrOnly","transformLabel","inline","maxWidth","composition","placeholder","showEmpty","children","help","layout","gap","undefined","replace","String","transformLabelParameters","hide","isValueEmpty","hasHelp","title","content","isComposition","isCompositionInContext","isCompositionInContextWithoutLabel","ref","useNotInSummaryList","summaryListLayout","getHelpContent","renderOnNextLine","breakout","createElement","element","contentId","outset","defaultClass","compositionClass","_Fragment","Item","_span","Provider","value","_objectSpread","VisibilityWrapper","_extends","labelDirection","srOnly","current","sibling","previousElementSibling","classList","contains","closest","apply","filter","Boolean","error","_supportsSpacingProps","visibilityContext"],"sources":["../../../../../src/extensions/forms/ValueBlock/ValueBlock.tsx"],"sourcesContent":["import React, {\n Fragment,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { warn } from '../../../shared/helpers'\nimport { Dd, Dl, Dt, Span } from '../../../elements'\nimport type { DlProps } from '../../../elements/Dl'\nimport { FormLabel } from '../../../components'\nimport SummaryListContext from '../Value/SummaryList/SummaryListContext'\nimport ValueProviderContext from '../Value/Provider/ValueProviderContext'\nimport ValueBlockContext from './ValueBlockContext'\nimport DataContext from '../DataContext/Context'\nimport { Path, ValueProps } from '../types'\nimport { pickSpacingProps } from '../../../components/flex/utils'\nimport IterateItemContext from '../Iterate/IterateItemContext'\nimport { convertJsxToString } from '../../../shared/component-helper'\nimport VisibilityContext from '../Form/Visibility/VisibilityContext'\nimport Visibility from '../Form/Visibility/Visibility'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n HelpProps,\n} from '../../../components/help-button/HelpButtonInline'\nimport useId from '../../../shared/helpers/useId'\n\n/**\n * Props are documented in ValueDocs.ts\n */\nexport type Props = Omit<ValueProps<unknown>, 'value'> & {\n id?: string\n\n /** The id to link a element with */\n forId?: string\n\n /**\n * Provide help content for the value.\n */\n help?: HelpProps\n\n /**\n * The layout of the value block.\n * (Undocumented for now, as there is only one layout option, vertical.)\n */\n layout?: 'vertical'\n\n /**\n * Used internally by the Composition component\n */\n composition?: boolean\n\n /**\n * Used internally by the Composition component\n */\n gap?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | false\n\n children?: React.ReactNode\n}\n\nfunction ValueBlock(localProps: Props) {\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { prerenderFieldProps } = useContext(DataContext) || {}\n const { index: iterateIndex } = useContext(IterateItemContext) || {}\n\n const { extend } = useContext(ValueProviderContext)\n const props = extend(localProps)\n\n const id = useId(props.id ?? props.forId)\n const defaultLayout = summaryListContext?.isNested\n ? 'horizontal'\n : 'vertical'\n\n const {\n className,\n label: labelProp,\n path,\n itemPath,\n labelSrOnly,\n transformLabel = (label: Props['label']) => label,\n inline,\n maxWidth = props.composition ? props.maxWidth : 'large',\n placeholder,\n showEmpty,\n children,\n composition,\n help,\n layout = defaultLayout,\n gap = 'xx-small',\n } = props\n\n const label = useMemo(() => {\n if (inline) {\n return null\n }\n\n let label = labelProp\n\n if (iterateIndex !== undefined) {\n label = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n return transformLabel(label, transformLabelParameters)\n }, [inline, iterateIndex, labelProp, transformLabel])\n\n const hide =\n prerenderFieldProps ||\n (isValueEmpty(children) && !showEmpty && !placeholder)\n const hasHelp = help?.title || help?.content\n const isComposition = composition === true\n const isCompositionInContext = valueBlockContext?.composition\n const isCompositionInContextWithoutLabel =\n !label && isCompositionInContext\n\n const ref = useRef<HTMLElement>(null)\n useNotInSummaryList(\n isCompositionInContext ? null : ref,\n label,\n path,\n itemPath\n )\n\n const summaryListLayout = summaryListContext?.layout\n const getHelpContent = useCallback(\n (layout: DlProps['layout'], { renderOnNextLine = false } = {}) => {\n const breakout =\n layout === 'vertical' || summaryListLayout === 'vertical'\n const content = hasHelp && (\n <HelpButtonInlineContent\n element=\"span\"\n contentId={`${id}-help`}\n className=\"dnb-forms-value-block__help\"\n help={help}\n breakout={breakout}\n outset={breakout}\n />\n )\n\n return hasHelp && renderOnNextLine ? (\n <span className=\"dnb-forms-value-block__help--next-line\">\n {content}\n </span>\n ) : (\n content\n )\n },\n [hasHelp, help, id, summaryListLayout]\n )\n\n let content = null\n\n const defaultClass = classnames(\n 'dnb-forms-value-block__content',\n `dnb-forms-value-block__content--gap-${gap === false ? 'none' : gap}`,\n maxWidth && `dnb-forms-value-block__content--max-width-${maxWidth}`\n )\n const compositionClass =\n isComposition && 'dnb-forms-value-block__composition--horizontal'\n\n if (hide) {\n return <></>\n }\n\n if (summaryListContext && !isCompositionInContextWithoutLabel) {\n const Item = summaryListContext.isNested\n ? Dl\n : summaryListContext.layout === 'horizontal'\n ? Dl.Item\n : Fragment\n\n if (!label && !hasHelp && isCompositionInContext) {\n content = <span className={defaultClass}>{children}</span> ?? (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )\n } else {\n const defaultLayout =\n isCompositionInContext && label ? 'horizontal' : 'vertical'\n const { layout = defaultLayout } = summaryListContext\n\n content = (\n <SummaryListContext.Provider\n value={{ ...summaryListContext, isNested: true }}\n >\n <Item>\n <Dt\n className={classnames(\n 'dnb-forms-value-block__label',\n ((!label && !hasHelp) || labelSrOnly) && 'dnb-sr-only',\n className\n )}\n >\n <VisibilityWrapper>\n {label && <strong>{label}</strong>}\n {hasHelp && (\n <span className=\"dnb-help-button__word-joiner\">\n <HelpButtonInline\n contentId={`${id}-help`}\n help={help}\n />\n </span>\n )}\n </VisibilityWrapper>\n </Dt>\n <Dd\n className={classnames(\n compositionClass,\n maxWidth &&\n `dnb-forms-value-block__content--max-width-${maxWidth}`\n )}\n >\n <VisibilityWrapper>\n {!isCompositionInContextWithoutLabel\n ? getHelpContent(layout)\n : null}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </VisibilityWrapper>\n </Dd>\n </Item>\n {isCompositionInContextWithoutLabel && hasHelp\n ? getHelpContent(layout, { renderOnNextLine: true })\n : null}\n </SummaryListContext.Provider>\n )\n }\n } else {\n content = (\n <>\n <Span\n ref={ref}\n className={classnames(\n 'dnb-forms-value-block',\n inline && 'dnb-forms-value-block--inline',\n compositionClass,\n className\n )}\n {...pickSpacingProps(props)}\n >\n {(label || hasHelp) && (\n <FormLabel\n element=\"strong\" // enhance a11y: https://www.w3.org/WAI/WCAG21/Techniques/html/H49\n className={classnames('dnb-forms-value-block__label')}\n labelDirection={inline ? 'horizontal' : 'vertical'}\n srOnly={labelSrOnly}\n >\n {label && (\n <span className=\"dnb-forms-value-block__label__content\">\n {label}\n </span>\n )}\n {hasHelp && (\n <span className=\"dnb-help-button__word-joiner\">\n <HelpButtonInline contentId={`${id}-help`} help={help} />\n </span>\n )}\n </FormLabel>\n )}\n {!isCompositionInContextWithoutLabel\n ? getHelpContent(layout)\n : null}\n {children ? (\n <span className={defaultClass}>{children}</span>\n ) : (\n <span className=\"dnb-forms-value-block__placeholder\">\n {placeholder}\n </span>\n )}\n </Span>\n\n {isCompositionInContextWithoutLabel && hasHelp\n ? getHelpContent(layout, { renderOnNextLine: true })\n : null}\n </>\n )\n }\n\n return (\n <ValueBlockContext.Provider value={props}>\n {content}\n </ValueBlockContext.Provider>\n )\n}\n\nfunction useNotInSummaryList(\n ref: React.RefObject<HTMLElement>,\n label?: React.ReactNode,\n path?: Path,\n itemPath?: Path\n) {\n useEffect(() => {\n if (ref?.current) {\n try {\n const sibling = ref.current.previousElementSibling\n\n if (\n sibling?.classList.contains('dnb-forms-value-block') &&\n !ref.current.closest('.dnb-forms-summary-list')\n ) {\n warn.apply(\n warn,\n [\n 'Value components as siblings should be wrapped inside a Value.SummaryList:',\n { label, path, itemPath },\n ].filter(Boolean)\n )\n }\n } catch (error) {\n //\n }\n }\n }, [itemPath, label, path, ref])\n}\n\nValueBlock._supportsSpacingProps = true\nexport default ValueBlock\n\nconst transformLabelParameters = {\n convertJsxToString,\n} as unknown as Parameters<Props['transformLabel']>[1]\n\nfunction VisibilityWrapper({ children }) {\n const visibilityContext = useContext(VisibilityContext)\n\n if (visibilityContext) {\n return (\n <Visibility element=\"span\" {...visibilityContext.props}>\n {children}\n </Visibility>\n )\n }\n\n return children\n}\n\nexport function isValueEmpty(value: unknown) {\n return value === undefined || value === null || value === false\n}\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IACVC,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,QACD,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,IAAI,QAAQ,mBAAmB;AAEpD,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,OAAOC,kBAAkB,MAAM,yCAAyC;AACxE,OAAOC,oBAAoB,MAAM,wCAAwC;AACzE,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,WAAW,MAAM,wBAAwB;AAEhD,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,OAAOC,kBAAkB,MAAM,+BAA+B;AAC9D,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,UAAU,MAAM,+BAA+B;AACtD,OAAOC,gBAAgB,IACrBC,uBAAuB,QAElB,kDAAkD;AACzD,OAAOC,KAAK,MAAM,+BAA+B;AAmCjD,SAASC,UAAUA,CAACC,UAAiB,EAAE;EAAA,IAAAC,SAAA;EACrC,MAAMC,kBAAkB,GAAG1B,UAAU,CAACW,kBAAkB,CAAC;EACzD,MAAMgB,iBAAiB,GAAG3B,UAAU,CAACa,iBAAiB,CAAC;EACvD,MAAM;IAAEe;EAAoB,CAAC,GAAG5B,UAAU,CAACc,WAAW,CAAC,IAAI,CAAC,CAAC;EAC7D,MAAM;IAAEe,KAAK,EAAEC;EAAa,CAAC,GAAG9B,UAAU,CAACgB,kBAAkB,CAAC,IAAI,CAAC,CAAC;EAEpE,MAAM;IAAEe;EAAO,CAAC,GAAG/B,UAAU,CAACY,oBAAoB,CAAC;EACnD,MAAMoB,KAAK,GAAGD,MAAM,CAACP,UAAU,CAAC;EAEhC,MAAMS,EAAE,GAAGX,KAAK,EAAAG,SAAA,GAACO,KAAK,CAACC,EAAE,cAAAR,SAAA,cAAAA,SAAA,GAAIO,KAAK,CAACE,KAAK,CAAC;EACzC,MAAMC,aAAa,GAAGT,kBAAkB,aAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAEU,QAAQ,GAC9C,YAAY,GACZ,UAAU;EAEd,MAAM;IACJC,SAAS;IACTC,KAAK,EAAEC,SAAS;IAChBC,IAAI;IACJC,QAAQ;IACRC,WAAW;IACXC,cAAc,GAAIL,KAAqB,IAAKA,KAAK;IACjDM,MAAM;IACNC,QAAQ,GAAGb,KAAK,CAACc,WAAW,GAAGd,KAAK,CAACa,QAAQ,GAAG,OAAO;IACvDE,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRH,WAAW;IACXI,IAAI;IACJC,MAAM,GAAGhB,aAAa;IACtBiB,GAAG,GAAG;EACR,CAAC,GAAGpB,KAAK;EAET,MAAMM,KAAK,GAAGpC,OAAO,CAAC,MAAM;IAC1B,IAAI0C,MAAM,EAAE;MACV,OAAO,IAAI;IACb;IAEA,IAAIN,KAAK,GAAGC,SAAS;IAErB,IAAIT,YAAY,KAAKuB,SAAS,EAAE;MAC9Bf,KAAK,GAAGrB,kBAAkB,CAACsB,SAAS,CAAC,CAACe,OAAO,CAC3C,UAAU,EACVC,MAAM,CAACzB,YAAY,GAAG,CAAC,CACzB,CAAC;IACH;IAEA,OAAOa,cAAc,CAACL,KAAK,EAAEkB,wBAAwB,CAAC;EACxD,CAAC,EAAE,CAACZ,MAAM,EAAEd,YAAY,EAAES,SAAS,EAAEI,cAAc,CAAC,CAAC;EAErD,MAAMc,IAAI,GACR7B,mBAAmB,IAClB8B,YAAY,CAACT,QAAQ,CAAC,IAAI,CAACD,SAAS,IAAI,CAACD,WAAY;EACxD,MAAMY,OAAO,GAAG,CAAAT,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEU,KAAK,MAAIV,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEW,OAAO;EAC5C,MAAMC,aAAa,GAAGhB,WAAW,KAAK,IAAI;EAC1C,MAAMiB,sBAAsB,GAAGpC,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEmB,WAAW;EAC7D,MAAMkB,kCAAkC,GACtC,CAAC1B,KAAK,IAAIyB,sBAAsB;EAElC,MAAME,GAAG,GAAG9D,MAAM,CAAc,IAAI,CAAC;EACrC+D,mBAAmB,CACjBH,sBAAsB,GAAG,IAAI,GAAGE,GAAG,EACnC3B,KAAK,EACLE,IAAI,EACJC,QACF,CAAC;EAED,MAAM0B,iBAAiB,GAAGzC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEyB,MAAM;EACpD,MAAMiB,cAAc,GAAGrE,WAAW,CAChC,CAACoD,MAAyB,EAAE;IAAEkB,gBAAgB,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,KAAK;IAChE,MAAMC,QAAQ,GACZnB,MAAM,KAAK,UAAU,IAAIgB,iBAAiB,KAAK,UAAU;IAC3D,MAAMN,OAAO,GAAGF,OAAO,IACrB9D,KAAA,CAAA0E,aAAA,CAAClD,uBAAuB;MACtBmD,OAAO,EAAC,MAAM;MACdC,SAAS,EAAE,GAAGxC,EAAE,OAAQ;MACxBI,SAAS,EAAC,6BAA6B;MACvCa,IAAI,EAAEA,IAAK;MACXoB,QAAQ,EAAEA,QAAS;MACnBI,MAAM,EAAEJ;IAAS,CAClB,CACF;IAED,OAAOX,OAAO,IAAIU,gBAAgB,GAChCxE,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAwC,GACrDwB,OACG,CAAC,GAEPA,OACD;EACH,CAAC,EACD,CAACF,OAAO,EAAET,IAAI,EAAEjB,EAAE,EAAEkC,iBAAiB,CACvC,CAAC;EAED,IAAIN,OAAO,GAAG,IAAI;EAElB,MAAMc,YAAY,yEAEuBvB,GAAG,KAAK,KAAK,GAAG,MAAM,GAAGA,GAAG,MACnEP,QAAQ,iDAAiDA,QAAQ,QAClE;EACD,MAAM+B,gBAAgB,GACpBd,aAAa,IAAI,gDAAgD;EAEnE,IAAIL,IAAI,EAAE;IACR,OAAAoB,SAAA,KAAAA,SAAA,GAAOhF,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAAC,QAAA,MAAI,CAAC;EACd;EAEA,IAAI4B,kBAAkB,IAAI,CAACsC,kCAAkC,EAAE;IAC7D,MAAMc,IAAI,GAAGpD,kBAAkB,CAACU,QAAQ,GACpC7B,EAAE,GACFmB,kBAAkB,CAACyB,MAAM,KAAK,YAAY,GAC1C5C,EAAE,CAACuE,IAAI,GACPhF,QAAQ;IAEZ,IAAI,CAACwC,KAAK,IAAI,CAACqB,OAAO,IAAII,sBAAsB,EAAE;MAAA,IAAAgB,KAAA;MAChDlB,OAAO,IAAAkB,KAAA,GAAGlF,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAEsC;MAAa,GAAE1B,QAAe,CAAC,cAAA8B,KAAA,cAAAA,KAAA,GACxDlF,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAC;MAAoC,GACjDU,WACG,CACP;IACH,CAAC,MAAM;MACL,MAAMZ,aAAa,GACjB4B,sBAAsB,IAAIzB,KAAK,GAAG,YAAY,GAAG,UAAU;MAC7D,MAAM;QAAEa,MAAM,GAAGhB;MAAc,CAAC,GAAGT,kBAAkB;MAErDmC,OAAO,GACLhE,KAAA,CAAA0E,aAAA,CAAC5D,kBAAkB,CAACqE,QAAQ;QAC1BC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOxD,kBAAkB;UAAEU,QAAQ,EAAE;QAAI;MAAG,GAEjDvC,KAAA,CAAA0E,aAAA,CAACO,IAAI,QACHjF,KAAA,CAAA0E,aAAA,CAAC/D,EAAE;QACD6B,SAAS,EAAEjC,UAAU,CACnB,8BAA8B,EAC9B,CAAE,CAACkC,KAAK,IAAI,CAACqB,OAAO,IAAKjB,WAAW,KAAK,aAAa,EACtDL,SACF;MAAE,GAEFxC,KAAA,CAAA0E,aAAA,CAACY,iBAAiB,QACf7C,KAAK,IAAIzC,KAAA,CAAA0E,aAAA,iBAASjC,KAAc,CAAC,EACjCqB,OAAO,IACN9D,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAC;MAA8B,GAC5CxC,KAAA,CAAA0E,aAAA,CAACnD,gBAAgB;QACfqD,SAAS,EAAE,GAAGxC,EAAE,OAAQ;QACxBiB,IAAI,EAAEA;MAAK,CACZ,CACG,CAES,CACjB,CAAC,EACLrD,KAAA,CAAA0E,aAAA,CAACjE,EAAE;QACD+B,SAAS,EAAEjC,UAAU,CACnBwE,gBAAgB,EAChB/B,QAAQ,IACN,6CAA6CA,QAAQ,EACzD;MAAE,GAEFhD,KAAA,CAAA0E,aAAA,CAACY,iBAAiB,QACf,CAACnB,kCAAkC,GAChCI,cAAc,CAACjB,MAAM,CAAC,GACtB,IAAI,EACPF,QAAQ,GACPpD,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAEsC;MAAa,GAAE1B,QAAe,CAAC,GAEhDpD,KAAA,CAAA0E,aAAA;QAAMlC,SAAS,EAAC;MAAoC,GACjDU,WACG,CAES,CACjB,CACA,CAAC,EACNiB,kCAAkC,IAAIL,OAAO,GAC1CS,cAAc,CAACjB,MAAM,EAAE;QAAEkB,gBAAgB,EAAE;MAAK,CAAC,CAAC,GAClD,IACuB,CAC9B;IACH;EACF,CAAC,MAAM;IACLR,OAAO,GACLhE,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAAC,QAAA,QACED,KAAA,CAAA0E,aAAA,CAAC9D,IAAI,EAAA2E,QAAA;MACHnB,GAAG,EAAEA,GAAI;MACT5B,SAAS,EAAEjC,UAAU,CACnB,uBAAuB,EAEvBwE,gBAAgB,EAChBvC,SAAS,EAFTO,MAAM,IAAI,+BAGZ;IAAE,GACE7B,gBAAgB,CAACiB,KAAK,CAAC,GAE1B,CAACM,KAAK,IAAIqB,OAAO,KAChB9D,KAAA,CAAA0E,aAAA,CAAC7D,SAAS;MACR8D,OAAO,EAAC,QAAQ;MAChBnC,SAAS,EAAa,8BAAgC;MACtDgD,cAAc,EAAEzC,MAAM,GAAG,YAAY,GAAG,UAAW;MACnD0C,MAAM,EAAE5C;IAAY,GAEnBJ,KAAK,IACJzC,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAuC,GACpDC,KACG,CACP,EACAqB,OAAO,IACN9D,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAA8B,GAC5CxC,KAAA,CAAA0E,aAAA,CAACnD,gBAAgB;MAACqD,SAAS,EAAE,GAAGxC,EAAE,OAAQ;MAACiB,IAAI,EAAEA;IAAK,CAAE,CACpD,CAEC,CACZ,EACA,CAACc,kCAAkC,GAChCI,cAAc,CAACjB,MAAM,CAAC,GACtB,IAAI,EACPF,QAAQ,GACPpD,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAEsC;IAAa,GAAE1B,QAAe,CAAC,GAEhDpD,KAAA,CAAA0E,aAAA;MAAMlC,SAAS,EAAC;IAAoC,GACjDU,WACG,CAEJ,CAAC,EAENiB,kCAAkC,IAAIL,OAAO,GAC1CS,cAAc,CAACjB,MAAM,EAAE;MAAEkB,gBAAgB,EAAE;IAAK,CAAC,CAAC,GAClD,IACJ,CACH;EACH;EAEA,OACExE,KAAA,CAAA0E,aAAA,CAAC1D,iBAAiB,CAACmE,QAAQ;IAACC,KAAK,EAAEjD;EAAM,GACtC6B,OACyB,CAAC;AAEjC;AAEA,SAASK,mBAAmBA,CAC1BD,GAAiC,EACjC3B,KAAuB,EACvBE,IAAW,EACXC,QAAe,EACf;EACAxC,SAAS,CAAC,MAAM;IACd,IAAIgE,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEsB,OAAO,EAAE;MAChB,IAAI;QACF,MAAMC,OAAO,GAAGvB,GAAG,CAACsB,OAAO,CAACE,sBAAsB;QAElD,IACED,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,SAAS,CAACC,QAAQ,CAAC,uBAAuB,CAAC,IACpD,CAAC1B,GAAG,CAACsB,OAAO,CAACK,OAAO,CAAC,yBAAyB,CAAC,EAC/C;UACAvF,IAAI,CAACwF,KAAK,CACRxF,IAAI,EACJ,CACE,4EAA4E,EAC5E;YAAEiC,KAAK;YAAEE,IAAI;YAAEC;UAAS,CAAC,CAC1B,CAACqD,MAAM,CAACC,OAAO,CAClB,CAAC;QACH;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE,CAEhB;IACF;EACF,CAAC,EAAE,CAACvD,QAAQ,EAAEH,KAAK,EAAEE,IAAI,EAAEyB,GAAG,CAAC,CAAC;AAClC;AAEA1C,UAAU,CAAC0E,qBAAqB,GAAG,IAAI;AACvC,eAAe1E,UAAU;AAEzB,MAAMiC,wBAAwB,GAAG;EAC/BvC;AACF,CAAsD;AAEtD,SAASkE,iBAAiBA,CAAC;EAAElC;AAAS,CAAC,EAAE;EACvC,MAAMiD,iBAAiB,GAAGlG,UAAU,CAACkB,iBAAiB,CAAC;EAEvD,IAAIgF,iBAAiB,EAAE;IACrB,OACErG,KAAA,CAAA0E,aAAA,CAACpD,UAAU,EAAAiE,QAAA;MAACZ,OAAO,EAAC;IAAM,GAAK0B,iBAAiB,CAAClE,KAAK,GACnDiB,QACS,CAAC;EAEjB;EAEA,OAAOA,QAAQ;AACjB;AAEA,OAAO,SAASS,YAAYA,CAACuB,KAAc,EAAE;EAC3C,OAAOA,KAAK,KAAK5B,SAAS,IAAI4B,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,KAAK;AACjE","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
/*
|
|
2
3
|
* Utilities
|
|
3
4
|
*/
|
|
@@ -40,8 +41,12 @@
|
|
|
40
41
|
.dnb-forms-value-block__label {
|
|
41
42
|
max-width: var(--forms-value-label-max-width--large);
|
|
42
43
|
}
|
|
43
|
-
.dnb-forms-value-block__label
|
|
44
|
-
margin-
|
|
44
|
+
.dnb-forms-value-block__label .dnb-help-button__word-joiner {
|
|
45
|
+
margin-left: 0.45em;
|
|
46
|
+
white-space: nowrap;
|
|
47
|
+
}
|
|
48
|
+
.dnb-forms-value-block__label .dnb-help-button__word-joiner::before {
|
|
49
|
+
content: "";
|
|
45
50
|
}
|
|
46
51
|
.dnb-forms-value-block__label:empty {
|
|
47
52
|
margin-bottom: 0;
|
|
@@ -62,17 +67,17 @@
|
|
|
62
67
|
.dnb-forms-value-block__placeholder {
|
|
63
68
|
color: var(--color-black-80);
|
|
64
69
|
}
|
|
65
|
-
.dnb-forms-value-block__content
|
|
70
|
+
.dnb-forms-value-block__content--max-width-stretch {
|
|
66
71
|
width: 100%;
|
|
67
72
|
}
|
|
68
73
|
@media screen and (min-width: 25.00625em) {
|
|
69
|
-
.dnb-forms-value-block__content
|
|
74
|
+
.dnb-forms-value-block__content--max-width-small {
|
|
70
75
|
max-width: var(--forms-value-width--small);
|
|
71
76
|
}
|
|
72
|
-
.dnb-forms-value-block__content
|
|
77
|
+
.dnb-forms-value-block__content--max-width-medium {
|
|
73
78
|
max-width: var(--forms-value-width--medium);
|
|
74
79
|
}
|
|
75
|
-
.dnb-forms-value-block__content
|
|
80
|
+
.dnb-forms-value-block__content--max-width-large {
|
|
76
81
|
max-width: var(--forms-value-width--large);
|
|
77
82
|
}
|
|
78
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@charset "UTF-8";:root{--forms-value-width--small:30ch;--forms-value-width--medium:40ch;--forms-value-width--large:60ch;--forms-value-label-max-width--large:60ch}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dd:empty,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt:empty{display:none}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium);transition:margin-bottom .3s var(--easing-default)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:has(~.dnb-dt:empty~.dnb-dd:empty),.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block:not(.dnb-forms-value-block__composition--horizontal) .dnb-forms-value-block__content{display:block}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__label{max-width:var(--forms-value-label-max-width--large)}.dnb-forms-value-block__label .dnb-help-button__word-joiner{margin-left:.45em;white-space:nowrap}.dnb-forms-value-block__label .dnb-help-button__word-joiner:before{content:""}.dnb-forms-value-block__label:empty{margin-bottom:0}.dnb-forms-value-block__help{display:flex;flex-flow:column}.dnb-card .dnb-forms-value-block__help{flex-grow:1}.dnb-forms-value-block__help .dnb-section,.dnb-forms-value-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block__content--max-width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-value-block__content--max-width-small{max-width:var(--forms-value-width--small)}.dnb-forms-value-block__content--max-width-medium{max-width:var(--forms-value-width--medium)}.dnb-forms-value-block__content--max-width-large{max-width:var(--forms-value-width--large)}}.dnb-forms-value-block span.dnb-height-animation{display:flex}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{column-gap:var(--column-gap,0);display:flex;flex-flow:row;flex-wrap:wrap;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-none{--column-gap:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25.00625em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small);flex-flow:row wrap}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content .dnb-dt:empty~.dnb-dd{margin-top:0}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block{display:flex}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__label:not(.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__label__content){margin-right:.5rem}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block:not(.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__label__content):has(.dnb-forms-value-block__label:not(.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content)):has(.dnb-forms-value-block__content){flex-direction:row-reverse}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block:not(.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__label__content):has(.dnb-forms-value-block__label:not(.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content)):has(.dnb-forms-value-block__content)>.dnb-forms-value-block__label{margin-left:.5rem}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl .dnb-forms-value-block__help .dnb-section,.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl .dnb-forms-value-block__help .dnb-section{margin-top:.5rem}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl>.dnb-dt,.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dt{display:inline}.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl>.dnb-dd,.dnb-forms-summary-list .dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{width:100%}.dnb-forms-value-block__help--next-line{display:flex;flex-basis:100%}
|
|
@@ -47,10 +47,14 @@
|
|
|
47
47
|
}
|
|
48
48
|
&__label {
|
|
49
49
|
max-width: var(--forms-value-label-max-width--large);
|
|
50
|
+
.dnb-help-button__word-joiner {
|
|
51
|
+
margin-left: 0.45em; // Simulate a white-space
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
// Force help button to line break with last word
|
|
54
|
+
white-space: nowrap;
|
|
55
|
+
&::before {
|
|
56
|
+
content: '\2060';
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
&__label:empty {
|
|
@@ -80,7 +84,7 @@
|
|
|
80
84
|
color: var(--color-black-80);
|
|
81
85
|
}
|
|
82
86
|
|
|
83
|
-
&__content
|
|
87
|
+
&__content--max-width {
|
|
84
88
|
&-stretch {
|
|
85
89
|
width: 100%;
|
|
86
90
|
}
|