@dnb/eufemia 10.73.1 → 10.73.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/cjs/components/toggle-button/ToggleButton.js +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/upload/UploadStatus.js +1 -0
- package/cjs/components/upload/UploadStatus.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -6
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/components/toggle-button/ToggleButton.js +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/upload/UploadStatus.js +1 -0
- package/components/upload/UploadStatus.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/upload/UploadStatus.js +1 -0
- package/es/components/upload/UploadStatus.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +14 -6
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/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/ArraySelection/ArraySelection.js +1 -0
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +14 -6
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.73.2](https://github.com/dnbexperience/eufemia/compare/v10.73.1...v10.73.2) (2025-05-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **Forms:** ensure support for `labelSrOnly` in Field.PhoneNumber ([#5108](https://github.com/dnbexperience/eufemia/issues/5108)) ([d58ca56](https://github.com/dnbexperience/eufemia/commit/d58ca563f882e682d279fa5543507b684b18e259))
|
|
12
|
+
* **Forms:** ensure support for `labelSrOnly` in Field.Toggle ([#5109](https://github.com/dnbexperience/eufemia/issues/5109)) ([a0d2031](https://github.com/dnbexperience/eufemia/commit/a0d2031936798f67acc71a97fec584e288361fec))
|
|
13
|
+
* **Forms:** support `required` in Field.ArraySelection with `button` & `checkbox-button` variant ([#5074](https://github.com/dnbexperience/eufemia/issues/5074)) ([1daab13](https://github.com/dnbexperience/eufemia/commit/1daab134acc868863ef2fdb50a290115f61fef91))
|
|
14
|
+
* **Forms:** support `required` in Field.Toggle with `button` & `checkbox-button` variant ([#5104](https://github.com/dnbexperience/eufemia/issues/5104)) ([be31978](https://github.com/dnbexperience/eufemia/commit/be3197891a806e0f44f8670e589e5f9e0ec3601e))
|
|
15
|
+
* **Forms:** support `required` in Field.Toggle with `buttons` variant ([#5105](https://github.com/dnbexperience/eufemia/issues/5105)) ([3147d17](https://github.com/dnbexperience/eufemia/commit/3147d1780078a9a4742681469e8908afba413974))
|
|
16
|
+
* **Upload:** display files amount message as warning ([#5110](https://github.com/dnbexperience/eufemia/issues/5110)) ([7da42cb](https://github.com/dnbexperience/eufemia/commit/7da42cb07c27cb426fdb8496c3d314d9e572f5ed))
|
|
17
|
+
|
|
6
18
|
## [10.73.1](https://github.com/dnbexperience/eufemia/compare/v10.73.0...v10.73.1) (2025-05-09)
|
|
7
19
|
|
|
8
20
|
|
|
@@ -212,7 +212,7 @@ class ToggleButton extends _react.default.PureComponent {
|
|
|
212
212
|
icon,
|
|
213
213
|
icon_size,
|
|
214
214
|
icon_position,
|
|
215
|
-
[`aria-${role === 'radio' ? 'checked' : 'pressed'}`]: String(checked || false),
|
|
215
|
+
[`aria-${role === 'radio' || role === 'checkbox' ? 'checked' : 'pressed'}`]: String(checked || false),
|
|
216
216
|
role
|
|
217
217
|
}, rest);
|
|
218
218
|
const componentParams = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_AlignmentHelper2","_filterValidProps","_SpacingHelper","_Radio","_Checkbox","_Button","_FormLabel","_FormStatus","_ToggleButtonGroup","_ToggleButtonGroupContext","_Context","_Suffix","_AlignmentHelper","_excluded","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ToggleButton","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","context","event","keycode","onClickHandler","_ref","isTrue","readOnly","preventDefault","persist","multiselect","setState","callOnChange","_refButton","current","focus","warn","_ref2","onChange","_id","id","makeUniqueId","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","translation","pickFormElementProps","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","role","children","on_change","on_state_update","rest","contextValue","contextValues","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","validateDOMAttributes","buttonParams","componentParams","element","undefined","type","combineDescribedBy","leftComponent","forId","labelDirection","srOnly","show","text_id","no_animation","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","exports","ToggleButtonGroup","ToggleButtonGroupContext","size","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n size: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n role: undefined,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n role,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n [`aria-${role === 'radio' ? 'checked' : 'pressed'}`]: String(\n checked || false\n ),\n role,\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ToggleButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_AlignmentHelper2","_filterValidProps","_SpacingHelper","_Radio","_Checkbox","_Button","_FormLabel","_FormStatus","_ToggleButtonGroup","_ToggleButtonGroupContext","_Context","_Suffix","_AlignmentHelper","_excluded","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ToggleButton","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","context","event","keycode","onClickHandler","_ref","isTrue","readOnly","preventDefault","persist","multiselect","setState","callOnChange","_refButton","current","focus","warn","_ref2","onChange","_id","id","makeUniqueId","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","translation","pickFormElementProps","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","role","children","on_change","on_state_update","rest","contextValue","contextValues","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","validateDOMAttributes","buttonParams","componentParams","element","undefined","type","combineDescribedBy","leftComponent","forId","labelDirection","srOnly","show","text_id","no_animation","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","exports","ToggleButtonGroup","ToggleButtonGroupContext","size","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n size: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n role: undefined,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n role,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n [`aria-${\n role === 'radio' || role === 'checkbox'\n ? 'checked'\n : 'pressed'\n }`]: String(checked || false),\n role,\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nToggleButton._formElement = true\nToggleButton._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadStatus.js","names":["_react","_interopRequireDefault","require","_UploadContext","_FormStatus","_useUpload","_HeightAnimation","e","__esModule","default","UploadStatus","context","React","useContext","UploadContext","id","filesAmountLimit","errorAmountLimit","internalFiles","useUpload","open","length","createElement","delay","shellSpace","top","stretch","String","replace","_default","exports"],"sources":["../../../../src/components/upload/UploadStatus.tsx"],"sourcesContent":["import React from 'react'\nimport { UploadContext } from './UploadContext'\nimport FormStatus from '../FormStatus'\nimport useUpload from './useUpload'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\nconst UploadStatus = () => {\n const context = React.useContext(UploadContext)\n\n const { id, filesAmountLimit, errorAmountLimit } = context\n const { internalFiles } = useUpload(id)\n const open = internalFiles.length > filesAmountLimit\n\n return (\n <HeightAnimation\n open={open}\n delay={\n 500 /* delay the animation to avoid flickering while each file animates */\n }\n >\n <FormStatus shellSpace={{ top: 'small' }} stretch>\n {String(errorAmountLimit).replace(\n '%amount',\n String(filesAmountLimit)\n )}\n </FormStatus>\n </HeightAnimation>\n )\n}\n\nexport default UploadStatus\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAiE,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjE,MAAMG,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,4BAAa,CAAC;EAE/C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGN,OAAO;EAC1D,MAAM;IAAEO;EAAc,CAAC,GAAG,IAAAC,kBAAS,EAACJ,EAAE,CAAC;EACvC,MAAMK,IAAI,GAAGF,aAAa,CAACG,MAAM,GAAGL,gBAAgB;EAEpD,OACEhB,MAAA,CAAAS,OAAA,CAAAa,aAAA,CAAChB,gBAAA,CAAAG,OAAe;IACdW,IAAI,EAAEA,IAAK;IACXG,KAAK,EACH;EACD,GAEDvB,MAAA,CAAAS,OAAA,CAAAa,aAAA,CAAClB,WAAA,CAAAK,OAAU;IAACe,UAAU,EAAE;MAAEC,GAAG,EAAE;IAAQ,CAAE;IAACC,OAAO;EAAA,
|
|
1
|
+
{"version":3,"file":"UploadStatus.js","names":["_react","_interopRequireDefault","require","_UploadContext","_FormStatus","_useUpload","_HeightAnimation","e","__esModule","default","UploadStatus","context","React","useContext","UploadContext","id","filesAmountLimit","errorAmountLimit","internalFiles","useUpload","open","length","createElement","delay","state","shellSpace","top","stretch","String","replace","_default","exports"],"sources":["../../../../src/components/upload/UploadStatus.tsx"],"sourcesContent":["import React from 'react'\nimport { UploadContext } from './UploadContext'\nimport FormStatus from '../FormStatus'\nimport useUpload from './useUpload'\nimport HeightAnimation from '../height-animation/HeightAnimation'\n\nconst UploadStatus = () => {\n const context = React.useContext(UploadContext)\n\n const { id, filesAmountLimit, errorAmountLimit } = context\n const { internalFiles } = useUpload(id)\n const open = internalFiles.length > filesAmountLimit\n\n return (\n <HeightAnimation\n open={open}\n delay={\n 500 /* delay the animation to avoid flickering while each file animates */\n }\n >\n <FormStatus state=\"warn\" shellSpace={{ top: 'small' }} stretch>\n {String(errorAmountLimit).replace(\n '%amount',\n String(filesAmountLimit)\n )}\n </FormStatus>\n </HeightAnimation>\n )\n}\n\nexport default UploadStatus\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAiE,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjE,MAAMG,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,4BAAa,CAAC;EAE/C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGN,OAAO;EAC1D,MAAM;IAAEO;EAAc,CAAC,GAAG,IAAAC,kBAAS,EAACJ,EAAE,CAAC;EACvC,MAAMK,IAAI,GAAGF,aAAa,CAACG,MAAM,GAAGL,gBAAgB;EAEpD,OACEhB,MAAA,CAAAS,OAAA,CAAAa,aAAA,CAAChB,gBAAA,CAAAG,OAAe;IACdW,IAAI,EAAEA,IAAK;IACXG,KAAK,EACH;EACD,GAEDvB,MAAA,CAAAS,OAAA,CAAAa,aAAA,CAAClB,WAAA,CAAAK,OAAU;IAACe,KAAK,EAAC,MAAM;IAACC,UAAU,EAAE;MAAEC,GAAG,EAAE;IAAQ,CAAE;IAACC,OAAO;EAAA,GAC3DC,MAAM,CAACX,gBAAgB,CAAC,CAACY,OAAO,CAC/B,SAAS,EACTD,MAAM,CAACZ,gBAAgB,CACzB,CACU,CACG,CAAC;AAEtB,CAAC;AAAA,IAAAc,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEcC,YAAY","ignoreList":[]}
|
|
@@ -160,6 +160,7 @@ function useCheckboxOrToggleOptions(_ref2) {
|
|
|
160
160
|
checked: value === null || value === void 0 ? void 0 : value.includes(active),
|
|
161
161
|
status: (hasError || (0, _useFieldProps.checkForError)([error, info, warning])) && 'error',
|
|
162
162
|
suffix: suffix,
|
|
163
|
+
role: "checkbox",
|
|
163
164
|
on_change: handleSelect
|
|
164
165
|
}, htmlAttributes, rest));
|
|
165
166
|
}, [disabled, emptyValue, handleChange, hasError, htmlAttributes, id, info, optionsCount, value, variant, warning]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_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","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","disableStatusSummary","pickSpacingProps","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","undefined","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","key","text","checked","checkForError","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\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 * The size of the component.\n */\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n size,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n if (!size) {\n fieldBlockProps.labelHeight = 'small'\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n size?: Props['size']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData: Array<OptionProps> = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\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 const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n size={size}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', {\n props: activeData,\n })\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_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","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","disableStatusSummary","pickSpacingProps","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","undefined","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","key","text","checked","checkForError","role","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\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 * The size of the component.\n */\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n size,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n if (!size) {\n fieldBlockProps.labelHeight = 'small'\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n size?: Props['size']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData: Array<OptionProps> = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\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 const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n size={size}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n role=\"checkbox\"\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', {\n props: activeData,\n })\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -114,6 +114,7 @@ function PhoneNumber(props) {
|
|
|
114
114
|
placeholder,
|
|
115
115
|
countryCodeLabel,
|
|
116
116
|
label = defaultLabel,
|
|
117
|
+
labelSrOnly,
|
|
117
118
|
numberMask,
|
|
118
119
|
countries: ccFilter = 'Prioritized',
|
|
119
120
|
emptyValue,
|
|
@@ -275,6 +276,7 @@ function PhoneNumber(props) {
|
|
|
275
276
|
placeholder: countryCodePlaceholder,
|
|
276
277
|
label_direction: "vertical",
|
|
277
278
|
label: countryCodeLabel !== null && countryCodeLabel !== void 0 ? countryCodeLabel : defaultCountryCodeLabel,
|
|
279
|
+
label_sr_only: labelSrOnly,
|
|
278
280
|
data: dataRef.current,
|
|
279
281
|
value: countryCodeRef.current,
|
|
280
282
|
status: hasError ? 'error' : undefined,
|
|
@@ -297,6 +299,7 @@ function PhoneNumber(props) {
|
|
|
297
299
|
emptyValue: emptyValue,
|
|
298
300
|
layout: "vertical",
|
|
299
301
|
label: label,
|
|
302
|
+
labelSrOnly: labelSrOnly,
|
|
300
303
|
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : isDefault ? defaultPlaceholder : undefined,
|
|
301
304
|
mask: numberMask !== null && numberMask !== void 0 ? numberMask : isDefault ? defaultMask : Array(12).fill(/\d/),
|
|
302
305
|
onFocus: handleOnFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","labelSrOnly","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","label_sr_only","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n labelSrOnly,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n label_sr_only={labelSrOnly}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n labelSrOnly={labelSrOnly}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -74,7 +74,8 @@ function Toggle(props) {
|
|
|
74
74
|
const {
|
|
75
75
|
label,
|
|
76
76
|
labelSuffix,
|
|
77
|
-
required
|
|
77
|
+
required,
|
|
78
|
+
labelSrOnly
|
|
78
79
|
} = props;
|
|
79
80
|
const labelWithItemNo = (0, _useIItemNo.useIterateItemNo)({
|
|
80
81
|
label,
|
|
@@ -90,6 +91,7 @@ function Toggle(props) {
|
|
|
90
91
|
id: id,
|
|
91
92
|
className: cn,
|
|
92
93
|
label: labelWithItemNo !== null && labelWithItemNo !== void 0 ? labelWithItemNo : isOn ? textOn !== null && textOn !== void 0 ? textOn : translations.yes : textOff !== null && textOff !== void 0 ? textOff : translations.no,
|
|
94
|
+
labelSrOnly: labelSrOnly,
|
|
93
95
|
checked: isOn,
|
|
94
96
|
disabled: disabled,
|
|
95
97
|
size: size !== 'small' ? size : undefined,
|
|
@@ -105,13 +107,16 @@ function Toggle(props) {
|
|
|
105
107
|
status: hasError ? 'error' : undefined,
|
|
106
108
|
value: value ? 'true' : 'false',
|
|
107
109
|
size: size,
|
|
108
|
-
on_change: handleCheckboxChange
|
|
110
|
+
on_change: handleCheckboxChange,
|
|
111
|
+
role: "checkbox"
|
|
109
112
|
}, htmlAttributes)));
|
|
110
113
|
case 'buttons':
|
|
111
114
|
return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, {
|
|
112
115
|
asFieldset: true
|
|
113
116
|
}), _react.default.createElement(_ButtonRow.default, {
|
|
114
117
|
bottom: "x-small"
|
|
118
|
+
}, _react.default.createElement(_components.ToggleButton.Group, {
|
|
119
|
+
role: "radiogroup"
|
|
115
120
|
}, _react.default.createElement(_ToggleButtonGroupContext.default.Provider, {
|
|
116
121
|
value: {
|
|
117
122
|
value: isOn ? 'on' : isOff ? 'off' : null,
|
|
@@ -122,11 +127,13 @@ function Toggle(props) {
|
|
|
122
127
|
}
|
|
123
128
|
}, _react.default.createElement(_components.ToggleButton, _extends({
|
|
124
129
|
text: textOn !== null && textOn !== void 0 ? textOn : translations.yes,
|
|
125
|
-
value: "on"
|
|
130
|
+
value: "on",
|
|
131
|
+
role: "radio"
|
|
126
132
|
}, htmlAttributes)), _react.default.createElement(_components.ToggleButton, _extends({
|
|
127
133
|
text: textOff !== null && textOff !== void 0 ? textOff : translations.no,
|
|
128
|
-
value: "off"
|
|
129
|
-
|
|
134
|
+
value: "off",
|
|
135
|
+
role: "radio"
|
|
136
|
+
}, htmlAttributes))))));
|
|
130
137
|
case 'checkbox-button':
|
|
131
138
|
return _react.default.createElement(_FieldBlock.default, fieldBlockProps, _react.default.createElement(_components.ToggleButton, _extends({
|
|
132
139
|
id: id,
|
|
@@ -137,7 +144,8 @@ function Toggle(props) {
|
|
|
137
144
|
status: hasError ? 'error' : undefined,
|
|
138
145
|
value: value ? 'true' : 'false',
|
|
139
146
|
size: size,
|
|
140
|
-
on_change: handleCheckboxChange
|
|
147
|
+
on_change: handleCheckboxChange,
|
|
148
|
+
role: "checkbox"
|
|
141
149
|
}, htmlAttributes)));
|
|
142
150
|
}
|
|
143
151
|
}
|