@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","keycode","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","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","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","type","leftComponent","_extends","forId","labelDirection","srOnly","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","size","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_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","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","keycode","AlignmentHelper","pickFormElementProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","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","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","type","leftComponent","_extends","forId","labelDirection","srOnly","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","size","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array","_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","UploadContext","FormStatus","useUpload","HeightAnimation","UploadStatus","context","useContext","id","filesAmountLimit","errorAmountLimit","internalFiles","open","length","createElement","delay","shellSpace","top","stretch","String","replace"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,eAAe,MAAM,qCAAqC;AAEjE,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAMC,OAAO,GAAGN,KAAK,CAACO,UAAU,CAACN,aAAa,CAAC;EAE/C,MAAM;IAAEO,EAAE;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGJ,OAAO;EAC1D,MAAM;IAAEK;EAAc,CAAC,GAAGR,SAAS,CAACK,EAAE,CAAC;EACvC,MAAMI,IAAI,GAAGD,aAAa,CAACE,MAAM,GAAGJ,gBAAgB;EAEpD,OACET,KAAA,CAAAc,aAAA,CAACV,eAAe;IACdQ,IAAI,EAAEA,IAAK;IACXG,KAAK,EACH;EACD,GAEDf,KAAA,CAAAc,aAAA,CAACZ,UAAU;IAACc,UAAU,EAAE;MAAEC,GAAG,EAAE;IAAQ,CAAE;IAACC,OAAO;EAAA,
|
|
1
|
+
{"version":3,"file":"UploadStatus.js","names":["React","UploadContext","FormStatus","useUpload","HeightAnimation","UploadStatus","context","useContext","id","filesAmountLimit","errorAmountLimit","internalFiles","open","length","createElement","delay","state","shellSpace","top","stretch","String","replace"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,eAAe,MAAM,qCAAqC;AAEjE,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAMC,OAAO,GAAGN,KAAK,CAACO,UAAU,CAACN,aAAa,CAAC;EAE/C,MAAM;IAAEO,EAAE;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGJ,OAAO;EAC1D,MAAM;IAAEK;EAAc,CAAC,GAAGR,SAAS,CAACK,EAAE,CAAC;EACvC,MAAMI,IAAI,GAAGD,aAAa,CAACE,MAAM,GAAGJ,gBAAgB;EAEpD,OACET,KAAA,CAAAc,aAAA,CAACV,eAAe;IACdQ,IAAI,EAAEA,IAAK;IACXG,KAAK,EACH;EACD,GAEDf,KAAA,CAAAc,aAAA,CAACZ,UAAU;IAACc,KAAK,EAAC,MAAM;IAACC,UAAU,EAAE;MAAEC,GAAG,EAAE;IAAQ,CAAE;IAACC,OAAO;EAAA,GAC3DC,MAAM,CAACV,gBAAgB,CAAC,CAACW,OAAO,CAC/B,SAAS,EACTD,MAAM,CAACX,gBAAgB,CACzB,CACU,CACG,CAAC;AAEtB,CAAC;AAED,eAAeJ,YAAY","ignoreList":[]}
|
|
@@ -145,6 +145,7 @@ export function useCheckboxOrToggleOptions({
|
|
|
145
145
|
checked: value === null || value === void 0 ? void 0 : value.includes(active),
|
|
146
146
|
status: (hasError || checkForError([error, info, warning])) && 'error',
|
|
147
147
|
suffix: suffix,
|
|
148
|
+
role: "checkbox",
|
|
148
149
|
on_change: handleSelect
|
|
149
150
|
}, htmlAttributes, rest));
|
|
150
151
|
}, [disabled, emptyValue, handleChange, hasError, htmlAttributes, id, info, optionsCount, value, variant, warning]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySelection.js","names":["React","useCallback","useContext","useMemo","classnames","convertJsxToString","Checkbox","HelpButton","ToggleButton","FieldBlock","useFieldProps","checkForError","pickSpacingProps","ToggleButtonGroupContext","mapOptions","DataContext","useDataValue","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","value","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","getValueByPath","dataList","fieldBlockProps","_objectSpread","forId","contentClassName","disableStatusSummary","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","labels","createElement","Provider","status","undefined","setFieldInternals","optionsCount","Children","count","length","activeData","createOption","i","active","error","title","help","rest","_objectWithoutProperties","_excluded","includes","push","label","suffix","content","handleSelect","newValue","filter","Component","_extends","key","text","checked","on_change","result","map","Boolean","_supportsSpacingProps"],"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","useCallback","useContext","useMemo","classnames","convertJsxToString","Checkbox","HelpButton","ToggleButton","FieldBlock","useFieldProps","checkForError","pickSpacingProps","ToggleButtonGroupContext","mapOptions","DataContext","useDataValue","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","value","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","getValueByPath","dataList","fieldBlockProps","_objectSpread","forId","contentClassName","disableStatusSummary","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","labels","createElement","Provider","status","undefined","setFieldInternals","optionsCount","Children","count","length","activeData","createOption","i","active","error","title","help","rest","_objectWithoutProperties","_excluded","includes","push","label","suffix","content","handleSelect","newValue","filter","Component","_extends","key","text","checked","role","on_change","result","map","Boolean","_supportsSpacingProps"],"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":[]}
|
|
@@ -101,6 +101,7 @@ function PhoneNumber(props) {
|
|
|
101
101
|
placeholder,
|
|
102
102
|
countryCodeLabel,
|
|
103
103
|
label = defaultLabel,
|
|
104
|
+
labelSrOnly,
|
|
104
105
|
numberMask,
|
|
105
106
|
countries: ccFilter = 'Prioritized',
|
|
106
107
|
emptyValue,
|
|
@@ -255,6 +256,7 @@ function PhoneNumber(props) {
|
|
|
255
256
|
placeholder: countryCodePlaceholder,
|
|
256
257
|
label_direction: "vertical",
|
|
257
258
|
label: countryCodeLabel !== null && countryCodeLabel !== void 0 ? countryCodeLabel : defaultCountryCodeLabel,
|
|
259
|
+
label_sr_only: labelSrOnly,
|
|
258
260
|
data: dataRef.current,
|
|
259
261
|
value: countryCodeRef.current,
|
|
260
262
|
status: hasError ? 'error' : undefined,
|
|
@@ -277,6 +279,7 @@ function PhoneNumber(props) {
|
|
|
277
279
|
emptyValue: emptyValue,
|
|
278
280
|
layout: "vertical",
|
|
279
281
|
label: label,
|
|
282
|
+
labelSrOnly: labelSrOnly,
|
|
280
283
|
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : isDefault ? defaultPlaceholder : undefined,
|
|
281
284
|
mask: numberMask !== null && numberMask !== void 0 ? numberMask : isDefault ? defaultMask : Array(12).fill(/\d/),
|
|
282
285
|
onFocus: handleOnFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumber.js","names":["React","useMemo","useContext","useCallback","useEffect","useRef","Autocomplete","classnames","countries","StringField","CompositionField","useFieldProps","pickSpacingProps","SharedContext","countryFilter","getCountryData","useTranslation","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","lang","locale","split","countryCodeRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","_objectSpread","validateRequired","value","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","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","_inputRef$current","number","length","joinValue","filter","country","updateCurrentDataSet","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","updateData","onTypeHandler","revalidateInputValue","event","_event$nativeEvent","nativeEvent","test","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","createElement","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"],"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","useMemo","useContext","useCallback","useEffect","useRef","Autocomplete","classnames","countries","StringField","CompositionField","useFieldProps","pickSpacingProps","SharedContext","countryFilter","getCountryData","useTranslation","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","lang","locale","split","countryCodeRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","_objectSpread","validateRequired","value","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","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","_inputRef$current","number","length","joinValue","filter","country","updateCurrentDataSet","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","updateData","onTypeHandler","revalidateInputValue","event","_event$nativeEvent","nativeEvent","test","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","createElement","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"],"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":[]}
|
|
@@ -60,7 +60,8 @@ function Toggle(props) {
|
|
|
60
60
|
const {
|
|
61
61
|
label,
|
|
62
62
|
labelSuffix,
|
|
63
|
-
required
|
|
63
|
+
required,
|
|
64
|
+
labelSrOnly
|
|
64
65
|
} = props;
|
|
65
66
|
const labelWithItemNo = useIterateItemNo({
|
|
66
67
|
label,
|
|
@@ -76,6 +77,7 @@ function Toggle(props) {
|
|
|
76
77
|
id: id,
|
|
77
78
|
className: cn,
|
|
78
79
|
label: labelWithItemNo !== null && labelWithItemNo !== void 0 ? labelWithItemNo : isOn ? textOn !== null && textOn !== void 0 ? textOn : translations.yes : textOff !== null && textOff !== void 0 ? textOff : translations.no,
|
|
80
|
+
labelSrOnly: labelSrOnly,
|
|
79
81
|
checked: isOn,
|
|
80
82
|
disabled: disabled,
|
|
81
83
|
size: size !== 'small' ? size : undefined,
|
|
@@ -91,13 +93,16 @@ function Toggle(props) {
|
|
|
91
93
|
status: hasError ? 'error' : undefined,
|
|
92
94
|
value: value ? 'true' : 'false',
|
|
93
95
|
size: size,
|
|
94
|
-
on_change: handleCheckboxChange
|
|
96
|
+
on_change: handleCheckboxChange,
|
|
97
|
+
role: "checkbox"
|
|
95
98
|
}, htmlAttributes)));
|
|
96
99
|
case 'buttons':
|
|
97
100
|
return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
|
|
98
101
|
asFieldset: true
|
|
99
102
|
}), React.createElement(ButtonRow, {
|
|
100
103
|
bottom: "x-small"
|
|
104
|
+
}, React.createElement(ToggleButton.Group, {
|
|
105
|
+
role: "radiogroup"
|
|
101
106
|
}, React.createElement(ToggleButtonGroupContext.Provider, {
|
|
102
107
|
value: {
|
|
103
108
|
value: isOn ? 'on' : isOff ? 'off' : null,
|
|
@@ -108,11 +113,13 @@ function Toggle(props) {
|
|
|
108
113
|
}
|
|
109
114
|
}, React.createElement(ToggleButton, _extends({
|
|
110
115
|
text: textOn !== null && textOn !== void 0 ? textOn : translations.yes,
|
|
111
|
-
value: "on"
|
|
116
|
+
value: "on",
|
|
117
|
+
role: "radio"
|
|
112
118
|
}, htmlAttributes)), React.createElement(ToggleButton, _extends({
|
|
113
119
|
text: textOff !== null && textOff !== void 0 ? textOff : translations.no,
|
|
114
|
-
value: "off"
|
|
115
|
-
|
|
120
|
+
value: "off",
|
|
121
|
+
role: "radio"
|
|
122
|
+
}, htmlAttributes))))));
|
|
116
123
|
case 'checkbox-button':
|
|
117
124
|
return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ToggleButton, _extends({
|
|
118
125
|
id: id,
|
|
@@ -123,7 +130,8 @@ function Toggle(props) {
|
|
|
123
130
|
status: hasError ? 'error' : undefined,
|
|
124
131
|
value: value ? 'true' : 'false',
|
|
125
132
|
size: size,
|
|
126
|
-
on_change: handleCheckboxChange
|
|
133
|
+
on_change: handleCheckboxChange,
|
|
134
|
+
role: "checkbox"
|
|
127
135
|
}, htmlAttributes)));
|
|
128
136
|
}
|
|
129
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","useIterateItemNo","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","textOn","textOff","value","size","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","checked","handleToggleChange","cn","fieldBlockProps","forId","isOn","isOff","text","label","labelSuffix","required","labelWithItemNo","createElement","_extends","undefined","yes","no","status","onChange","on_change","asFieldset","bottom","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport { useIterateItemNo } from '../../Iterate/ItemNo/useIItemNo'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n textOn,\n textOff,\n value,\n size,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(text)\n }\n }, [isOn, setDisplayValue, textOff, textOn])\n\n const { label, labelSuffix, required } = props\n const labelWithItemNo = useIterateItemNo({\n label,\n labelSuffix,\n required,\n })\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n labelWithItemNo ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n checked={isOn}\n disabled={disabled}\n size={size !== 'small' ? size : undefined}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","useIterateItemNo","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","textOn","textOff","value","size","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","checked","handleToggleChange","cn","fieldBlockProps","forId","isOn","isOff","text","label","labelSuffix","required","labelSrOnly","labelWithItemNo","createElement","_extends","undefined","yes","no","status","onChange","on_change","role","asFieldset","bottom","Group","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\nimport { useIterateItemNo } from '../../Iterate/ItemNo/useIItemNo'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n textOn,\n textOff,\n value,\n size,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(text)\n }\n }, [isOn, setDisplayValue, textOff, textOn])\n\n const { label, labelSuffix, required, labelSrOnly } = props\n const labelWithItemNo = useIterateItemNo({\n label,\n labelSuffix,\n required,\n })\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n labelWithItemNo ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n labelSrOnly={labelSrOnly}\n checked={isOn}\n disabled={disabled}\n size={size !== 'small' ? size : undefined}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButton.Group role=\"radiogroup\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n role=\"radio\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n role=\"radio\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ToggleButton.Group>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n size={size}\n on_change={handleCheckboxChange}\n role=\"checkbox\"\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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","ignoreList":[]}
|
package/es/shared/Eufemia.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "10.73.
|
|
1
|
+
export declare const version = "10.73.2";
|
|
2
2
|
export declare function init(): void;
|
package/es/shared/Eufemia.js
CHANGED
package/es/shared/Eufemia.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.73.
|
|
1
|
+
{"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.73.2'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.73.2'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF","ignoreList":[]}
|