@dnb/eufemia 10.72.1 → 10.72.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/cjs/components/copy-on-click/CopyOnClick.js +1 -1
- package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +1 -1
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -1
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +2 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +6 -4
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +5 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +7 -0
- package/cjs/extensions/forms/hooks/useFieldProps.js +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +5 -0
- 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 +6 -1
- package/cjs/style/dnb-ui-components.min.css +2 -2
- 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 +5 -0
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +5 -0
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +11 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +11 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +11 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +5 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +5 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/copy-on-click/CopyOnClick.js +1 -1
- package/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/components/copy-on-click/style/dnb-copy-on-click.css +1 -1
- package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -1
- package/components/copy-on-click/style/dnb-copy-on-click.scss +2 -1
- package/es/components/copy-on-click/CopyOnClick.js +1 -1
- package/es/components/copy-on-click/CopyOnClick.js.map +1 -1
- package/es/components/copy-on-click/style/dnb-copy-on-click.css +1 -1
- package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -1
- package/es/components/copy-on-click/style/dnb-copy-on-click.scss +2 -1
- package/es/extensions/forms/Field/Selection/Selection.js +6 -4
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +5 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +7 -0
- package/es/extensions/forms/hooks/useFieldProps.js +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +5 -0
- 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 +6 -1
- package/es/style/dnb-ui-components.min.css +2 -2
- 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 +5 -0
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +5 -0
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +11 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +11 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +11 -1
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +5 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +5 -0
- 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/Selection/Selection.js +6 -4
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +5 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +7 -0
- package/extensions/forms/hooks/useFieldProps.js +1 -1
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +5 -0
- 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 +6 -1
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +5 -0
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +5 -0
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +11 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +5 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +5 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +11 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +11 -1
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +5 -0
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +5 -0
- 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
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.72.3](https://github.com/dnbexperience/eufemia/compare/v10.72.2...v10.72.3) (2025-04-28)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **CopyOnClick:** copy `textContent` when given children is empty ([#5014](https://github.com/dnbexperience/eufemia/issues/5014)) ([9b59d56](https://github.com/dnbexperience/eufemia/commit/9b59d567adad307ab83d0870c2d523780e0ffe7d))
|
|
12
|
+
* **CopyOnClick:** display copy cursor for all children ([#5011](https://github.com/dnbexperience/eufemia/issues/5011)) ([cbff90c](https://github.com/dnbexperience/eufemia/commit/cbff90cdc23bf1bdce4aacd693b457a03c467919))
|
|
13
|
+
* **Forms:** ensure Field.Composition with horizontal layout will still wrap ([#5007](https://github.com/dnbexperience/eufemia/issues/5007)) ([29c3055](https://github.com/dnbexperience/eufemia/commit/29c30551514b899d41a3b836d6aff8d7fde37dca))
|
|
14
|
+
* **Forms:** ensure Field.Selection with the autocomplete variant receives showIndicator in the first onType parameter object ([#5012](https://github.com/dnbexperience/eufemia/issues/5012)) ([ed8a5d1](https://github.com/dnbexperience/eufemia/commit/ed8a5d13b03212b55cc592dfa268950b3f7fa049))
|
|
15
|
+
|
|
16
|
+
## [10.72.2](https://github.com/dnbexperience/eufemia/compare/v10.72.1...v10.72.2) (2025-04-22)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### :bug: Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **Forms:** ensure Iterate.Array schema validation ([#4986](https://github.com/dnbexperience/eufemia/issues/4986)) ([7e10a4a](https://github.com/dnbexperience/eufemia/commit/7e10a4a5baffdb6b87c6fc8447a8477a583f6136)), closes [#4956](https://github.com/dnbexperience/eufemia/issues/4956)
|
|
22
|
+
|
|
6
23
|
## [10.72.1](https://github.com/dnbexperience/eufemia/compare/v10.72.0...v10.72.1) (2025-04-22)
|
|
7
24
|
|
|
8
25
|
|
|
@@ -46,7 +46,7 @@ const CopyOnClick = _ref => {
|
|
|
46
46
|
const onClickHandler = (0, _react.useCallback)(() => {
|
|
47
47
|
if (!(0, _helpers.hasSelectedText)()) {
|
|
48
48
|
try {
|
|
49
|
-
const str = (0, _componentHelper.convertJsxToString)(copyContent || children);
|
|
49
|
+
const str = (0, _componentHelper.convertJsxToString)(copyContent || children) || ref.current.textContent;
|
|
50
50
|
if (str) {
|
|
51
51
|
const selection = window.getSelection();
|
|
52
52
|
const range = document.createRange();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyOnClick.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_NumberUtils","_helpers","_componentHelper","_shared","_elements","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","CopyOnClick","_ref","children","className","disabled","showCursor","copyContent","props","ref","useRef","useEffect","IS_IOS","runIOSSelectionFix","clipboard_copy","useTranslation","copy","useCallback","value","positionElement","copyWithEffect","onClickHandler","hasSelectedText","str","convertJsxToString","selection","window","getSelection","range","document","createRange","selectNodeContents","
|
|
1
|
+
{"version":3,"file":"CopyOnClick.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_NumberUtils","_helpers","_componentHelper","_shared","_elements","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","CopyOnClick","_ref","children","className","disabled","showCursor","copyContent","props","ref","useRef","useEffect","IS_IOS","runIOSSelectionFix","clipboard_copy","useTranslation","copy","useCallback","value","positionElement","copyWithEffect","onClickHandler","hasSelectedText","str","convertJsxToString","current","textContent","selection","window","getSelection","range","document","createRange","selectNodeContents","removeAllRanges","addRange","warn","params","onClick","undefined","createElement","Span","classnames","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/copy-on-click/CopyOnClick.tsx"],"sourcesContent":["/**\n * Web CopyOnClick Component\n */\n\nimport React, { useCallback, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport type { CopyOnClickAllProps } from './types'\nimport {\n runIOSSelectionFix,\n copyWithEffect,\n} from '../number-format/NumberUtils'\nimport { hasSelectedText, IS_IOS, warn } from '../../shared/helpers'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport { useTranslation } from '../../shared'\nimport { Span } from '../../elements'\n\nconst CopyOnClick = ({\n children,\n className = null,\n disabled,\n showCursor = true,\n copyContent = null,\n ...props\n}: CopyOnClickAllProps) => {\n const ref = useRef<HTMLSpanElement>(null)\n\n useEffect(() => {\n if (IS_IOS) {\n runIOSSelectionFix()\n }\n }, [])\n\n const {\n CopyOnClick: { clipboard_copy },\n } = useTranslation()\n\n const copy = useCallback(\n (value: string, positionElement: HTMLElement) => {\n copyWithEffect(value, clipboard_copy, positionElement) // use copyWithNotice only to use the nice effect / animation\n },\n [clipboard_copy]\n )\n\n const onClickHandler = useCallback(() => {\n if (!hasSelectedText()) {\n try {\n const str =\n convertJsxToString(copyContent || children) ||\n ref.current.textContent\n\n if (str) {\n const selection = window.getSelection()\n const range = document.createRange()\n range.selectNodeContents(ref.current)\n selection.removeAllRanges()\n selection.addRange(range)\n\n copy(str, ref.current)\n }\n } catch (e) {\n warn(e)\n }\n }\n }, [children, copyContent, copy])\n\n const params = {\n onClick: disabled ? undefined : onClickHandler,\n }\n\n return (\n <Span\n className={classnames(\n 'dnb-copy-on-click',\n showCursor && !disabled && 'dnb-copy-on-click--cursor',\n className\n )}\n ref={ref}\n {...props}\n {...params}\n >\n {children}\n </Span>\n )\n}\n\nCopyOnClick._supportsSpacingProps = true\nexport default CopyOnClick\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-copy-on-click--cursor{cursor:copy}
|
|
1
|
+
.dnb-copy-on-click--cursor,.dnb-copy-on-click--cursor *{cursor:copy}
|
|
@@ -106,11 +106,13 @@ function Selection(props) {
|
|
|
106
106
|
}, (0, _utils.pickSpacingProps)(props));
|
|
107
107
|
const onType = props === null || props === void 0 ? void 0 : (_props$autocompletePr = props.autocompleteProps) === null || _props$autocompletePr === void 0 ? void 0 : _props$autocompletePr.onType;
|
|
108
108
|
const onTypeAutocompleteHandler = (0, _react.useCallback)(event => {
|
|
109
|
-
const {
|
|
110
|
-
value
|
|
111
|
-
} = event;
|
|
112
109
|
if (typeof onType === 'function') {
|
|
113
|
-
|
|
110
|
+
const {
|
|
111
|
+
value
|
|
112
|
+
} = event;
|
|
113
|
+
onType(_objectSpread(_objectSpread(_objectSpread({}, event), additionalArgs), {}, {
|
|
114
|
+
value: value === '' ? emptyValue : value
|
|
115
|
+
}));
|
|
114
116
|
}
|
|
115
117
|
}, [additionalArgs, emptyValue, onType]);
|
|
116
118
|
switch (variant) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_useFieldProps","_utils","_FieldBlock","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","length","indexOf","propertyIsEnumerable","_extends","assign","bind","arguments","apply","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Selection","props","_props$autocompletePr","clearValue","useMemo","makeUniqueId","id","className","variant","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","size","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","transformSelection","data","dataPath","children","additionalArgs","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDrawerListChange","useCallback","_ref","_data$selectedKey","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","disableStatusSummary","pickSpacingProps","onType","onTypeAutocompleteHandler","event","Component","Radio","ToggleButton","items","renderRadioItems","iterateOverItems","_ref5","v","label","additionalFieldBlockProps","asFieldset","React","Children","count","labelHeight","createElement","Group","layout_direction","on_change","_data$find","renderDropdownItems","concat","makeOptions","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","status","checkForError","on_show","on_hide","stretch","specificFieldBlockProps","contentWidth","Autocomplete","convertCamelCaseProps","freeze","preventSelection","on_type","mode","Dropdown","_ref6","valueProp","optionsCount","createOption","help","rest","suffix","HelpButton","convertJsxToString","key","text","map","mapOptions","_ref7","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref8","_props$title","_props$value","selected_value","style","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n makeUniqueId,\n} from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n Autocomplete,\n HelpButton,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { RadioProps } from '../../../../components/Radio'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\nimport type { RadioGroupProps } from '../../../../components/radio/RadioGroup'\nimport type { ToggleButtonGroupProps } from '../../../../components/toggle-button/ToggleButtonGroup'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n disabled?: boolean\n style?: React.CSSProperties\n}>\n\nexport type Props = FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * Transform the displayed selection for Dropdown and Autocomplete variant.\n * Use it to display a different value than the one in the data set.\n */\n transformSelection?: (props: OptionFieldProps) => React.ReactNode\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The size of the component.\n */\n size?:\n | ToggleButtonGroupProps['size']\n | RadioGroupProps['size']\n | AutocompleteAllProps['size']\n | DropdownAllProps['size']\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n size,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n transformSelection,\n data,\n dataPath,\n children,\n additionalArgs,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDrawerListChange = useCallback(\n ({ data, value }) => {\n const selectedKey = data?.selectedKey ?? value\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey,\n { data }\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection--layout-${layout}`,\n `dnb-forms-field-selection--options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n const onType = props?.autocompleteProps?.onType\n const onTypeAutocompleteHandler = useCallback(\n (event) => {\n const { value } = event\n if (typeof onType === 'function') {\n onType(value === undefined ? emptyValue : value, {\n ...event,\n ...additionalArgs,\n })\n }\n },\n [additionalArgs, emptyValue, onType]\n )\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(label)\n }\n },\n })\n\n const additionalFieldBlockProps: FieldBlockProps = {\n asFieldset: React.Children.count(items) > 1,\n }\n if (!size) {\n additionalFieldBlockProps.labelHeight = 'small'\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...additionalFieldBlockProps}>\n <Component.Group\n size={size}\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '') || undefined}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const data = renderDropdownItems(dataList, transformSelection)\n .concat(makeOptions(children, transformSelection))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status:\n (hasError || checkForError([error, info, warning])) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n size,\n on_change: handleDrawerListChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n const specificFieldBlockProps: FieldBlockProps = {\n width,\n }\n if (layout === 'horizontal') {\n specificFieldBlockProps.width = undefined\n specificFieldBlockProps.contentWidth = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...specificFieldBlockProps}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n Object.freeze(autocompleteProps)\n ) as AutocompleteAllProps)\n : null)}\n value={\n autocompleteProps?.preventSelection ? undefined : value\n }\n on_type={onTypeAutocompleteHandler}\n data={\n !props.data &&\n !props.dataPath &&\n autocompleteProps?.mode === 'async'\n ? undefined\n : data\n }\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: Props['value']\n error: Error | FormError | undefined\n help: HelpProps\n title: React.ReactNode\n children: React.ReactNode\n size?: ToggleButtonProps['size'] | RadioProps['size']\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, size, ...rest } = props\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? valueProp) || undefined}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n size={size}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(\n children: React.ReactNode,\n {\n createOption,\n }: { createOption: (props: OptionProps, i: number) => React.ReactNode }\n) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode,\n transformSelection?: Props['transformSelection']\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.title ?? props.children ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selected_value = transformSelection\n ? transformSelection(props)\n : undefined\n const selectedKey = String(props.value ?? '')\n const disabled = props.disabled\n const style = props.style\n\n return { selectedKey, selected_value, content, disabled, style }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(\n data: Data,\n transformSelection?: Props['transformSelection']\n) {\n return (\n data?.map((props) => {\n const { value, title, text, disabled, style } = props\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n selected_value: transformSelection\n ? transformSelection(props)\n : undefined,\n disabled,\n style,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_useFieldProps","_utils","_FieldBlock","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","length","indexOf","propertyIsEnumerable","_extends","assign","bind","arguments","apply","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Selection","props","_props$autocompletePr","clearValue","useMemo","makeUniqueId","id","className","variant","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","size","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","transformSelection","data","dataPath","children","additionalArgs","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDrawerListChange","useCallback","_ref","_data$selectedKey","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","disableStatusSummary","pickSpacingProps","onType","onTypeAutocompleteHandler","event","Component","Radio","ToggleButton","items","renderRadioItems","iterateOverItems","_ref5","v","label","additionalFieldBlockProps","asFieldset","React","Children","count","labelHeight","createElement","Group","layout_direction","on_change","_data$find","renderDropdownItems","concat","makeOptions","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","status","checkForError","on_show","on_hide","stretch","specificFieldBlockProps","contentWidth","Autocomplete","convertCamelCaseProps","freeze","preventSelection","on_type","mode","Dropdown","_ref6","valueProp","optionsCount","createOption","help","rest","suffix","HelpButton","convertJsxToString","key","text","map","mapOptions","_ref7","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref8","_props$title","_props$value","selected_value","style","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n makeUniqueId,\n} from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n Autocomplete,\n HelpButton,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { RadioProps } from '../../../../components/Radio'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\nimport type { RadioGroupProps } from '../../../../components/radio/RadioGroup'\nimport type { ToggleButtonGroupProps } from '../../../../components/toggle-button/ToggleButtonGroup'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n disabled?: boolean\n style?: React.CSSProperties\n}>\n\nexport type Props = FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * Transform the displayed selection for Dropdown and Autocomplete variant.\n * Use it to display a different value than the one in the data set.\n */\n transformSelection?: (props: OptionFieldProps) => React.ReactNode\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The size of the component.\n */\n size?:\n | ToggleButtonGroupProps['size']\n | RadioGroupProps['size']\n | AutocompleteAllProps['size']\n | DropdownAllProps['size']\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n size,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n transformSelection,\n data,\n dataPath,\n children,\n additionalArgs,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDrawerListChange = useCallback(\n ({ data, value }) => {\n const selectedKey = data?.selectedKey ?? value\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey,\n { data }\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection--layout-${layout}`,\n `dnb-forms-field-selection--options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n const onType = props?.autocompleteProps?.onType\n const onTypeAutocompleteHandler = useCallback(\n (event) => {\n if (typeof onType === 'function') {\n const { value } = event\n onType({\n ...event,\n ...additionalArgs,\n value: value === '' ? emptyValue : value,\n })\n }\n },\n [additionalArgs, emptyValue, onType]\n )\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(label)\n }\n },\n })\n\n const additionalFieldBlockProps: FieldBlockProps = {\n asFieldset: React.Children.count(items) > 1,\n }\n if (!size) {\n additionalFieldBlockProps.labelHeight = 'small'\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...additionalFieldBlockProps}>\n <Component.Group\n size={size}\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '') || undefined}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const data = renderDropdownItems(dataList, transformSelection)\n .concat(makeOptions(children, transformSelection))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status:\n (hasError || checkForError([error, info, warning])) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n size,\n on_change: handleDrawerListChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n const specificFieldBlockProps: FieldBlockProps = {\n width,\n }\n if (layout === 'horizontal') {\n specificFieldBlockProps.width = undefined\n specificFieldBlockProps.contentWidth = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...specificFieldBlockProps}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n Object.freeze(autocompleteProps)\n ) as AutocompleteAllProps)\n : null)}\n value={\n autocompleteProps?.preventSelection ? undefined : value\n }\n on_type={onTypeAutocompleteHandler}\n data={\n !props.data &&\n !props.dataPath &&\n autocompleteProps?.mode === 'async'\n ? undefined\n : data\n }\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: Props['value']\n error: Error | FormError | undefined\n help: HelpProps\n title: React.ReactNode\n children: React.ReactNode\n size?: ToggleButtonProps['size'] | RadioProps['size']\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, size, ...rest } = props\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? valueProp) || undefined}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n size={size}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(\n children: React.ReactNode,\n {\n createOption,\n }: { createOption: (props: OptionProps, i: number) => React.ReactNode }\n) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode,\n transformSelection?: Props['transformSelection']\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.title ?? props.children ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selected_value = transformSelection\n ? transformSelection(props)\n : undefined\n const selectedKey = String(props.value ?? '')\n const disabled = props.disabled\n const style = props.style\n\n return { selectedKey, selected_value, content, disabled, style }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(\n data: Data,\n transformSelection?: Props['transformSelection']\n) {\n return (\n data?.map((props) => {\n const { value, title, text, disabled, style } = props\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n selected_value: transformSelection\n ? transformSelection(props)\n : undefined,\n disabled,\n style,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,7 +41,7 @@ const SelectionProperties = exports.SelectionProperties = {
|
|
|
41
41
|
status: 'optional'
|
|
42
42
|
},
|
|
43
43
|
autocompleteProps: {
|
|
44
|
-
doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',
|
|
44
|
+
doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component. `onType` will additionally provide the `value` parameter with `emptyValue` support in addition to the internal `dataContext`.',
|
|
45
45
|
type: 'object',
|
|
46
46
|
status: 'optional'
|
|
47
47
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","exports","variant","doc","type","status","value","transformSelection","optionsLayout","width","data","dataPath","autocompleteProps","dropdownProps","size","children"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n value: {\n doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',\n type: ['number', 'string'],\n status: 'optional',\n },\n transformSelection: {\n doc: 'Transform the displayed selection for Dropdown and Autocomplete variant. Use it to display a different value than the one in the data set. The first parameter is the props of the Option component or data item. You can return a React.Node that will be displayed in the selection.',\n type: 'function',\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n size: {\n doc: 'The sizes you can choose is small (1.5rem), default (2rem), medium (2.5rem) and large (3rem) are supported component sizes. Defaults to default / null. Also, if you define a number like size=\"2\" then it will be forwarded as the input element attribute. Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components, and other children.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAyC,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EACvDE,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,kBAAkB,EAAE;IAClBJ,GAAG,EAAE,wRAAwR;IAC7RC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,iBAAiB,EAAE;IACjBT,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","exports","variant","doc","type","status","value","transformSelection","optionsLayout","width","data","dataPath","autocompleteProps","dropdownProps","size","children"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n value: {\n doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',\n type: ['number', 'string'],\n status: 'optional',\n },\n transformSelection: {\n doc: 'Transform the displayed selection for Dropdown and Autocomplete variant. Use it to display a different value than the one in the data set. The first parameter is the props of the Option component or data item. You can return a React.Node that will be displayed in the selection.',\n type: 'function',\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component. `onType` will additionally provide the `value` parameter with `emptyValue` support in addition to the internal `dataContext`.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n size: {\n doc: 'The sizes you can choose is small (1.5rem), default (2rem), medium (2.5rem) and large (3rem) are supported component sizes. Defaults to default / null. Also, if you define a number like size=\"2\" then it will be forwarded as the input element attribute. Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).',\n type: 'string',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components, and other children.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAyC,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EACvDE,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,kBAAkB,EAAE;IAClBJ,GAAG,EAAE,wRAAwR;IAC7RC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,iBAAiB,EAAE;IACjBT,GAAG,EAAE,0OAA0O;IAC/OC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,aAAa,EAAE;IACbV,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,IAAI,EAAE;IACJX,GAAG,EAAE,oWAAoW;IACzWC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -181,6 +181,11 @@ fieldset.dnb-forms-field-block:not([class*=space__right]) {
|
|
|
181
181
|
display: flex;
|
|
182
182
|
flex-flow: row;
|
|
183
183
|
column-gap: var(--spacing-small);
|
|
184
|
+
flex-wrap: wrap;
|
|
185
|
+
row-gap: var(--spacing-small);
|
|
186
|
+
}
|
|
187
|
+
.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents > .dnb-forms-field-block--width-stretch {
|
|
188
|
+
flex: 1;
|
|
184
189
|
}
|
|
185
190
|
@media screen and (min-width: 25.00625em) {
|
|
186
191
|
.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
: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__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%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom{width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.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}@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}}
|
|
1
|
+
: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__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%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom{width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.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}}
|
|
@@ -226,6 +226,13 @@ fieldset.dnb-forms-field-block {
|
|
|
226
226
|
flex-flow: row;
|
|
227
227
|
column-gap: var(--spacing-small);
|
|
228
228
|
|
|
229
|
+
// Support wrapping
|
|
230
|
+
flex-wrap: wrap;
|
|
231
|
+
row-gap: var(--spacing-small);
|
|
232
|
+
& > .dnb-forms-field-block--width-stretch {
|
|
233
|
+
flex: 1;
|
|
234
|
+
}
|
|
235
|
+
|
|
229
236
|
@include allAbove(x-small) {
|
|
230
237
|
align-items: flex-end; // To support fields with labels of different size
|
|
231
238
|
|
|
@@ -438,7 +438,7 @@ function useFieldProps(localProps) {
|
|
|
438
438
|
return;
|
|
439
439
|
}
|
|
440
440
|
const hasError = Boolean(localErrorRef.current);
|
|
441
|
-
revealErrorRef.current =
|
|
441
|
+
revealErrorRef.current = true;
|
|
442
442
|
setErrorState(hasError);
|
|
443
443
|
}, [validateInitially, setErrorState]);
|
|
444
444
|
const hideError = (0, _react.useCallback)(() => {
|