@dnb/eufemia 10.63.3 → 10.63.4

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/components/form-status/FormStatus.js +3 -2
  3. package/cjs/components/form-status/FormStatus.js.map +1 -1
  4. package/cjs/extensions/forms/DataContext/Context.d.ts +4 -1
  5. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  6. package/cjs/extensions/forms/DataContext/Provider/Provider.js +29 -15
  7. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  8. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -1
  9. package/cjs/extensions/forms/hooks/useFieldProps.js +11 -3
  10. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  11. package/cjs/shared/Eufemia.d.ts +1 -1
  12. package/cjs/shared/Eufemia.js +2 -2
  13. package/cjs/shared/Eufemia.js.map +1 -1
  14. package/cjs/style/core/scopes.scss +1 -1
  15. package/cjs/style/dnb-ui-basis.css +1 -1
  16. package/cjs/style/dnb-ui-basis.min.css +1 -1
  17. package/cjs/style/dnb-ui-body.css +1 -1
  18. package/cjs/style/dnb-ui-body.min.css +1 -1
  19. package/cjs/style/dnb-ui-core.css +1 -1
  20. package/cjs/style/dnb-ui-core.min.css +1 -1
  21. package/components/form-status/FormStatus.js +3 -2
  22. package/components/form-status/FormStatus.js.map +1 -1
  23. package/es/components/form-status/FormStatus.js +3 -2
  24. package/es/components/form-status/FormStatus.js.map +1 -1
  25. package/es/extensions/forms/DataContext/Context.d.ts +4 -1
  26. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  27. package/es/extensions/forms/DataContext/Provider/Provider.js +24 -13
  28. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  29. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -1
  30. package/es/extensions/forms/hooks/useFieldProps.js +11 -2
  31. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  32. package/es/shared/Eufemia.d.ts +1 -1
  33. package/es/shared/Eufemia.js +2 -2
  34. package/es/shared/Eufemia.js.map +1 -1
  35. package/es/style/core/scopes.scss +1 -1
  36. package/es/style/dnb-ui-basis.css +1 -1
  37. package/es/style/dnb-ui-basis.min.css +1 -1
  38. package/es/style/dnb-ui-body.css +1 -1
  39. package/es/style/dnb-ui-body.min.css +1 -1
  40. package/es/style/dnb-ui-core.css +1 -1
  41. package/es/style/dnb-ui-core.min.css +1 -1
  42. package/esm/dnb-ui-basis.min.mjs +1 -1
  43. package/esm/dnb-ui-components.min.mjs +1 -1
  44. package/esm/dnb-ui-elements.min.mjs +1 -1
  45. package/esm/dnb-ui-extensions.min.mjs +2 -2
  46. package/esm/dnb-ui-lib.min.mjs +1 -1
  47. package/extensions/forms/DataContext/Context.d.ts +4 -1
  48. package/extensions/forms/DataContext/Context.js.map +1 -1
  49. package/extensions/forms/DataContext/Provider/Provider.js +29 -15
  50. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  51. package/extensions/forms/hooks/useFieldProps.d.ts +4 -1
  52. package/extensions/forms/hooks/useFieldProps.js +11 -3
  53. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  54. package/package.json +1 -1
  55. package/shared/Eufemia.d.ts +1 -1
  56. package/shared/Eufemia.js +2 -2
  57. package/shared/Eufemia.js.map +1 -1
  58. package/style/core/scopes.scss +1 -1
  59. package/style/dnb-ui-basis.css +1 -1
  60. package/style/dnb-ui-basis.min.css +1 -1
  61. package/style/dnb-ui-body.css +1 -1
  62. package/style/dnb-ui-body.min.css +1 -1
  63. package/style/dnb-ui-core.css +1 -1
  64. package/style/dnb-ui-core.min.css +1 -1
  65. package/umd/dnb-ui-basis.min.js +1 -1
  66. package/umd/dnb-ui-components.min.js +1 -1
  67. package/umd/dnb-ui-elements.min.js +1 -1
  68. package/umd/dnb-ui-extensions.min.js +1 -1
  69. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FormStatus.js","names":["React","PropTypes","classnames","useTheme","Context","isTrue","makeUniqueId","validateDOMAttributes","processChildren","extendPropsWithContextInClassComponent","HeightAnimation","spacingPropTypes","createSpacingClasses","Icon","GlobalStatusProvider","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","ui","sbanken","properties","FormStatus","PureComponent","getContent","props","text","correctStatus","state","getIcon","icon","icon_size","IconToLoad","InfoIcon","WarnIcon","MarketingIcon","ErrorIcon","createElement","title","size","inherit_color","getDerivedStateFromProps","_id","id","constructor","context","_props$globalStatus","_context$FormStatus","_context$FormStatus$g","_context$FormRow","_context$FormRow$glob","_context$formElement","_context$formElement$","_defineProperty","_isMounted","_globalStatus","isReady","updateWidth","fillCache","_ref","current","width_element","width_selector","setMaxWidthToElement","element","widthElement","widthSelector","init","globalStatus","FormRow","formElement","provider","isReadyToGetVisible","label","getProps","add","_objectSpread","status_id","getStatusId","item","item_id","message","status_anchor_label","status_anchor_url","createRef","componentDidMount","document","readyState","window","addEventListener","shouldAnimate","content","contentCache","stateCache","componentWillUnmount","remove","removeEventListener","componentDidUpdate","prevProps","_prevProps$globalStat","show","children","update","preventRestack","defaultProps","skeleton","no_animation","render","rawState","variant","className","stretch","shellSpace","text_id","role","rest","_objectWithoutProperties","_excluded","iconToRender","contentToRender","hasStringContent","length","params","String","startsWith","textParams","shellParams","space","_extends","open","animate","duration","innerRef","attributes","process","env","NODE_ENV","propTypes","string","oneOfType","bool","func","node","oneOf","shape","object","_useTheme","isSbankenTheme","name","fill","line","width","height","viewBox","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_useTheme2","_useTheme3","fillRule","clipRule","cx","cy","r","_useTheme4","xmlns","getAttribute","replace","sumElementWidth","maxWidth","remWidth","style","getComputedStyle","hasCustomWidth","minWidth","e","ids","split","reduce","acc","cur","elem","querySelector","getElementById","offsetWidth","test","parseFloat","_supportsSpacingProps"],"sources":["../../../../src/components/form-status/FormStatus.js"],"sourcesContent":["/**\n * Web FormStatus 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 { useTheme, Context } from '../../shared'\nimport {\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Icon from '../icon/Icon'\nimport GlobalStatusProvider from '../global-status/GlobalStatusProvider'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport ui from '../../style/themes/theme-ui/properties'\nimport sbanken from '../../style/themes/theme-sbanken/properties'\n\nconst properties = { ui, sbanken }\n\nexport default class FormStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n show: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n label: PropTypes.node,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.oneOf(['error', 'warn', 'info', 'marketing']),\n ]),\n variant: PropTypes.oneOf(['flat', 'outlined']),\n size: PropTypes.oneOf(['default', 'large']),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n text_id: PropTypes.string,\n width_selector: PropTypes.string,\n width_element: PropTypes.object,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n role: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n id: null,\n title: null,\n show: true,\n text: null,\n globalStatus: null,\n label: null,\n icon: 'error',\n icon_size: 'medium',\n size: 'default',\n variant: null,\n state: 'error',\n attributes: null,\n text_id: null,\n width_selector: null,\n width_element: null,\n no_animation: null,\n skeleton: null,\n stretch: null,\n role: null,\n className: null,\n children: null,\n }\n\n static getContent(props) {\n if (props.text) {\n if (isTrue(props.text)) {\n return null\n }\n return props.text\n }\n return processChildren(props)\n }\n\n static correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n case 'warning':\n state = 'warn'\n break\n }\n return state\n }\n\n static getIcon({ state, icon, icon_size }) {\n if (typeof icon !== 'string') {\n return icon\n }\n\n let IconToLoad = icon\n\n switch (FormStatus.correctStatus(state)) {\n case 'info':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'marketing':\n IconToLoad = MarketingIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n return (\n <Icon\n icon={<IconToLoad title={null} state={state} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._id !== props.id && props.id) {\n state.id = props.id\n }\n\n state._id = props.id\n\n return state\n }\n\n state = { id: null }\n\n constructor(props, context) {\n super(props)\n\n // we do not use a random ID here, as we don't need it for now\n this.state.id = props.id || makeUniqueId()\n\n this._globalStatus = GlobalStatusProvider.init(\n props?.globalStatus?.id ||\n context?.FormStatus?.globalStatus?.id ||\n context?.FormRow?.globalStatus?.id || // Deprecated – can be removed in v11\n context?.formElement?.globalStatus?.id ||\n 'main',\n (provider) => {\n // gets called once ready\n if (this.props.state === 'error' && this.isReadyToGetVisible()) {\n const { state, text, globalStatus, label } =\n this.getProps(context)\n provider.add({\n state,\n status_id: this.getStatusId(),\n item: {\n item_id: this.state.id,\n text: globalStatus?.message || text,\n status_anchor_label: label,\n status_anchor_url: true,\n },\n ...globalStatus,\n })\n }\n }\n )\n\n this._ref = React.createRef()\n }\n\n init = () => {\n if (this._isMounted) {\n this._globalStatus.isReady()\n\n this.updateWidth()\n this.fillCache()\n }\n }\n\n componentDidMount() {\n this._isMounted = true\n if (document.readyState === 'complete') {\n this.init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', this.init)\n }\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', this.updateWidth)\n }\n }\n\n fillCache() {\n const shouldAnimate = this.shouldAnimate()\n\n // Content\n const content = shouldAnimate && FormStatus.getContent(this.props)\n if (content && content !== this.contentCache) {\n this.contentCache = content\n }\n\n // State\n const state =\n shouldAnimate && FormStatus.correctStatus(this.props.state)\n if (state) {\n this.stateCache = state\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n const status_id = this.getStatusId()\n this._globalStatus.remove(status_id)\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', this.init)\n window.removeEventListener('resize', this.updateWidth)\n }\n }\n\n componentDidUpdate(prevProps) {\n const { state, show, text, globalStatus, children, label } =\n this.getProps()\n\n if (\n prevProps.text !== text ||\n prevProps.children !== children ||\n prevProps.show !== show ||\n prevProps.globalStatus?.show !== globalStatus?.show ||\n prevProps.state !== state\n ) {\n this.fillCache()\n\n if (state === 'error') {\n const status_id = this.getStatusId()\n\n if (isTrue(show)) {\n this._globalStatus.update(\n status_id,\n {\n state,\n status_id,\n item: {\n item_id: this.state.id,\n text: globalStatus?.message || text,\n status_anchor_label: label,\n status_anchor_url: true,\n },\n ...globalStatus,\n },\n {\n preventRestack: true, // because of the internal \"close\"\n }\n )\n } else if (!FormStatus.getContent(this.props)) {\n const status_id = this.getStatusId()\n this._globalStatus.remove(status_id)\n }\n }\n\n if (this.isReadyToGetVisible()) {\n this.updateWidth()\n }\n }\n }\n\n getProps(context = this.context) {\n return extendPropsWithContextInClassComponent(\n this.props,\n FormStatus.defaultProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement),\n context?.FormStatus\n )\n }\n\n getStatusId() {\n return `${this.state.id}-gs`\n }\n\n updateWidth = () => {\n // set max-width to this form-status, using the \"linked mother\"\n if (this._ref.current) {\n const { width_element, width_selector } = this.props\n setMaxWidthToElement({\n element: this._ref.current,\n widthElement: width_element && width_element.current,\n widthSelector: width_selector,\n })\n }\n }\n\n shouldAnimate() {\n return this.props.no_animation === false\n }\n\n isReadyToGetVisible(props = this.props) {\n return isTrue(props.show) && FormStatus.getContent(props)\n ? true\n : false\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n title,\n state: rawState,\n size,\n variant,\n className,\n stretch,\n shellSpace,\n text_id,\n\n show, // eslint-disable-line\n no_animation, // eslint-disable-line\n label, // eslint-disable-line\n status_id, // eslint-disable-line\n globalStatus, // eslint-disable-line\n id, // eslint-disable-line\n text, // eslint-disable-line\n icon, // eslint-disable-line\n icon_size, // eslint-disable-line\n skeleton, // eslint-disable-line\n children, // eslint-disable-line\n role,\n\n ...rest\n } = props\n\n const state = FormStatus.correctStatus(rawState) || this.stateCache\n const iconToRender = FormStatus.getIcon({\n state,\n icon,\n icon_size,\n })\n\n const contentToRender = FormStatus.getContent(this.props)\n\n const hasStringContent =\n typeof contentToRender === 'string' && contentToRender.length > 0\n\n const params = {\n className: classnames(\n 'dnb-form-status',\n state && `dnb-form-status--${state}`,\n `dnb-form-status__size--${size}`,\n variant && `dnb-form-status__variant--${variant}`,\n stretch && 'dnb-form-status--stretch',\n hasStringContent ? 'dnb-form-status--has-content' : null,\n createSpacingClasses(props),\n className\n ),\n id: !String(id).startsWith('null') ? this.state.id : null,\n title,\n role,\n ...rest,\n }\n\n if (!role) {\n switch (state) {\n case 'info':\n params.role = 'status'\n break\n default:\n params.role = 'alert'\n }\n }\n\n const textParams = {\n className: classnames(\n 'dnb-form-status__text',\n createSkeletonClass('font', skeleton, this.context)\n ),\n id: !String(text_id).startsWith('null') ? text_id : null,\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-form-status__shell',\n createSpacingClasses({ space: shellSpace })\n ),\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n validateDOMAttributes(null, textParams)\n\n return (\n <HeightAnimation\n element=\"span\"\n open={this.isReadyToGetVisible()}\n animate={this.shouldAnimate()}\n duration={600}\n {...params}\n innerRef={this._ref}\n >\n <span {...shellParams}>\n {iconToRender}\n <span {...textParams}>\n {contentToRender || this.contentCache}\n </span>\n </span>\n </HeightAnimation>\n )\n }\n}\n\nexport const ErrorIcon = (props) => {\n const { title = 'error' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-magenta']\n : properties.ui['--color-fire-red']\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-magenta-light-2']\n : properties.ui['--color-white']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n d=\"M23.625 17.864A3.547 3.547 0 0120.45 23H3.548a3.546 3.546 0 01-3.172-5.136l8.45-14.902a3.548 3.548 0 016.347 0l8.452 14.902z\"\n fill={fill}\n />\n <path\n d=\"M12 16.286a1.286 1.286 0 100 2.572 1.286 1.286 0 000-2.572z\"\n fill={line}\n />\n <path\n d=\"M12 13.818v-5\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nErrorIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const WarnIcon = (props) => {\n const { title = 'error' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-yellow-dark']\n : properties.ui['--color-accent-yellow']\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-black']\n : properties.ui['--color-black-80']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n d=\"M23.625 17.864A3.547 3.547 0 0120.45 23H3.548a3.546 3.546 0 01-3.172-5.136l8.45-14.902a3.548 3.548 0 016.347 0l8.452 14.902z\"\n fill={fill}\n />\n <path\n d=\"M12 16.286a1.286 1.286 0 100 2.572 1.286 1.286 0 000-2.572z\"\n fill={line}\n />\n <path\n d=\"M12 13.818v-5\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nWarnIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const InfoIcon = (props) => {\n const { title = 'info' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n let fill = isSbankenTheme\n ? properties.sbanken['--sb-color-violet-light']\n : properties.ui['--color-sea-green']\n if (props && props?.state === 'success') {\n fill = isSbankenTheme\n ? properties.sbanken['--sb-color-green-dark-3']\n : properties.ui['--color-summer-green']\n }\n\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-green-light-2']\n : properties.ui['--color-white']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.268 0a11.25 11.25 0 105.566 21.017l6.112 2.91a.75.75 0 001-1l-2.911-6.112A11.234 11.234 0 0011.268 0z\"\n fill={fill}\n />\n <circle cx=\"11\" cy=\"6.5\" r=\".5\" fill=\"#fff\" stroke={line} />\n <path\n d=\"M13.75 16H13a1.5 1.5 0 01-1.5-1.5v-3.75a.75.75 0 00-.75-.75H10\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nInfoIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const MarketingIcon = (props) => {\n const { title = 'marketing' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-violet-light']\n : properties.ui['--color-black-80']\n\n return (\n <svg\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <title>{title}</title>\n <path\n d=\"M6 15.25H4.5c-2.042 0-3.75-1.707-3.75-3.75S2.458 7.75 4.5 7.75H6v7.5ZM7.5 15.25c4.801 0 8.846 1.897 12.75 4.5V3.25c-3.904 2.603-7.949 4.5-12.75 4.5v7.5ZM23.25 10a.75.75 0 0 0-1.5 0h1.5Zm-1.5 3a.75.75 0 0 0 1.5 0h-1.5ZM8.483 21.043a.75.75 0 1 0 1.034-1.086l-1.034 1.086ZM21.75 10v3h1.5v-3h-1.5ZM6 15.25a8.058 8.058 0 0 0 2.483 5.793l1.034-1.086A6.559 6.559 0 0 1 7.5 15.25H6Z\"\n fill={fill}\n />\n </svg>\n )\n}\nMarketingIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport function setMaxWidthToElement({\n element,\n id = null,\n widthElement = null,\n widthSelector = null,\n}) {\n if (!(element && typeof window !== 'undefined')) {\n return // stop here\n }\n try {\n if (!id && !widthSelector) {\n id = element.getAttribute('id')\n }\n widthSelector = widthSelector || id?.replace('-form-status', '') || id\n\n let width = sumElementWidth({\n widthElement,\n widthSelector,\n })\n\n if (width > 40) {\n const maxWidth = 30 * 16 // use 12rem, because that's the default width in chrome for an input\n if (width < maxWidth) {\n width = maxWidth\n }\n\n const remWidth = `${width / 16}rem`\n\n const style = window.getComputedStyle(element)\n const hasCustomWidth = element.style.maxWidth\n ? false\n : (style.minWidth !== '' && style.minWidth !== 'auto') ||\n (style.maxWidth !== '' && style.maxWidth !== 'none')\n\n if (!hasCustomWidth) {\n element.style.maxWidth = remWidth\n }\n }\n } catch (e) {\n // skip logging\n }\n}\n\nfunction sumElementWidth({ widthElement, widthSelector }) {\n let width = 0\n if (typeof document === 'undefined') {\n return width // stop here\n }\n try {\n // beside \"selector\" - which is straight forward, we\n // also check if we can get an ID given by text_id\n const ids = widthElement\n ? [widthElement]\n : widthSelector.split(/, |,/g)\n\n width = ids.reduce((acc, cur) => {\n const elem =\n typeof cur === 'string'\n ? cur[0] === '.'\n ? document.querySelector(cur)\n : document.getElementById(cur)\n : cur\n\n let width =\n (elem && elem.offsetWidth) || window.getComputedStyle(elem).width\n if (/em|rem/.test(width)) {\n width = parseFloat(width) * 16\n }\n\n if (width > 0) {\n // add additional one more spacing unit\n // to make it more correct for small elements\n if (acc > 0) {\n acc += 16\n }\n acc += width\n }\n\n return acc\n }, width)\n } catch (e) {\n // skip logging\n }\n\n return width\n}\n\nFormStatus._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormStatus.js","names":["React","PropTypes","classnames","useTheme","Context","isTrue","makeUniqueId","validateDOMAttributes","processChildren","extendPropsWithContextInClassComponent","HeightAnimation","spacingPropTypes","createSpacingClasses","Icon","GlobalStatusProvider","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","ui","sbanken","properties","FormStatus","PureComponent","getContent","props","text","correctStatus","state","getIcon","icon","icon_size","IconToLoad","InfoIcon","WarnIcon","MarketingIcon","ErrorIcon","createElement","title","size","inherit_color","getDerivedStateFromProps","_id","id","constructor","context","_props$globalStatus","_context$FormStatus","_context$FormStatus$g","_context$FormRow","_context$FormRow$glob","_context$formElement","_context$formElement$","_defineProperty","_isMounted","_globalStatus","isReady","updateWidth","fillCache","_ref","current","width_element","width_selector","setMaxWidthToElement","element","widthElement","widthSelector","init","globalStatus","FormRow","formElement","provider","isReadyToGetVisible","children","label","getProps","add","_objectSpread","status_id","getStatusId","item","item_id","message","status_anchor_label","status_anchor_url","createRef","componentDidMount","document","readyState","window","addEventListener","shouldAnimate","content","contentCache","stateCache","componentWillUnmount","remove","removeEventListener","componentDidUpdate","prevProps","_prevProps$globalStat","show","update","preventRestack","defaultProps","skeleton","no_animation","render","rawState","variant","className","stretch","shellSpace","text_id","role","rest","_objectWithoutProperties","_excluded","iconToRender","contentToRender","hasStringContent","length","params","String","startsWith","textParams","shellParams","space","_extends","open","animate","duration","innerRef","attributes","process","env","NODE_ENV","propTypes","string","oneOfType","bool","func","node","oneOf","shape","object","_useTheme","isSbankenTheme","name","fill","line","width","height","viewBox","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","_useTheme2","_useTheme3","fillRule","clipRule","cx","cy","r","_useTheme4","xmlns","getAttribute","replace","sumElementWidth","maxWidth","remWidth","style","getComputedStyle","hasCustomWidth","minWidth","e","ids","split","reduce","acc","cur","elem","querySelector","getElementById","offsetWidth","test","parseFloat","_supportsSpacingProps"],"sources":["../../../../src/components/form-status/FormStatus.js"],"sourcesContent":["/**\n * Web FormStatus 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 { useTheme, Context } from '../../shared'\nimport {\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Icon from '../icon/Icon'\nimport GlobalStatusProvider from '../global-status/GlobalStatusProvider'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport ui from '../../style/themes/theme-ui/properties'\nimport sbanken from '../../style/themes/theme-sbanken/properties'\n\nconst properties = { ui, sbanken }\n\nexport default class FormStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n show: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n label: PropTypes.node,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.oneOf(['error', 'warn', 'info', 'marketing']),\n ]),\n variant: PropTypes.oneOf(['flat', 'outlined']),\n size: PropTypes.oneOf(['default', 'large']),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n text_id: PropTypes.string,\n width_selector: PropTypes.string,\n width_element: PropTypes.object,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n role: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n id: null,\n title: null,\n show: true,\n text: null,\n globalStatus: null,\n label: null,\n icon: 'error',\n icon_size: 'medium',\n size: 'default',\n variant: null,\n state: 'error',\n attributes: null,\n text_id: null,\n width_selector: null,\n width_element: null,\n no_animation: null,\n skeleton: null,\n stretch: null,\n role: null,\n className: null,\n children: null,\n }\n\n static getContent(props) {\n if (props.text) {\n if (isTrue(props.text)) {\n return null\n }\n return props.text\n }\n return processChildren(props)\n }\n\n static correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n case 'warning':\n state = 'warn'\n break\n }\n return state\n }\n\n static getIcon({ state, icon, icon_size }) {\n if (typeof icon !== 'string') {\n return icon\n }\n\n let IconToLoad = icon\n\n switch (FormStatus.correctStatus(state)) {\n case 'info':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'marketing':\n IconToLoad = MarketingIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n return (\n <Icon\n icon={<IconToLoad title={null} state={state} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._id !== props.id && props.id) {\n state.id = props.id\n }\n\n state._id = props.id\n\n return state\n }\n\n state = { id: null }\n\n constructor(props, context) {\n super(props)\n\n // we do not use a random ID here, as we don't need it for now\n this.state.id = props.id || makeUniqueId()\n\n this._globalStatus = GlobalStatusProvider.init(\n props?.globalStatus?.id ||\n context?.FormStatus?.globalStatus?.id ||\n context?.FormRow?.globalStatus?.id || // Deprecated – can be removed in v11\n context?.formElement?.globalStatus?.id ||\n 'main',\n (provider) => {\n // gets called once ready\n if (this.props.state === 'error' && this.isReadyToGetVisible()) {\n const { state, text, children, globalStatus, label } =\n this.getProps(context)\n provider.add({\n state,\n status_id: this.getStatusId(),\n item: {\n item_id: this.state.id,\n text: globalStatus?.message || text || children,\n status_anchor_label: label,\n status_anchor_url: true,\n },\n ...globalStatus,\n })\n }\n }\n )\n\n this._ref = React.createRef()\n }\n\n init = () => {\n if (this._isMounted) {\n this._globalStatus.isReady()\n\n this.updateWidth()\n this.fillCache()\n }\n }\n\n componentDidMount() {\n this._isMounted = true\n if (document.readyState === 'complete') {\n this.init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', this.init)\n }\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', this.updateWidth)\n }\n }\n\n fillCache() {\n const shouldAnimate = this.shouldAnimate()\n\n // Content\n const content = shouldAnimate && FormStatus.getContent(this.props)\n if (content && content !== this.contentCache) {\n this.contentCache = content\n }\n\n // State\n const state =\n shouldAnimate && FormStatus.correctStatus(this.props.state)\n if (state) {\n this.stateCache = state\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n const status_id = this.getStatusId()\n this._globalStatus.remove(status_id)\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', this.init)\n window.removeEventListener('resize', this.updateWidth)\n }\n }\n\n componentDidUpdate(prevProps) {\n const { state, show, text, globalStatus, children, label } =\n this.getProps()\n\n if (\n prevProps.text !== text ||\n prevProps.children !== children ||\n prevProps.show !== show ||\n prevProps.globalStatus?.show !== globalStatus?.show ||\n prevProps.state !== state\n ) {\n this.fillCache()\n\n if (state === 'error') {\n const status_id = this.getStatusId()\n\n if (isTrue(show)) {\n this._globalStatus.update(\n status_id,\n {\n state,\n status_id,\n item: {\n item_id: this.state.id,\n text: globalStatus?.message || text || children,\n status_anchor_label: label,\n status_anchor_url: true,\n },\n ...globalStatus,\n },\n {\n preventRestack: true, // because of the internal \"close\"\n }\n )\n } else if (!FormStatus.getContent(this.props)) {\n const status_id = this.getStatusId()\n this._globalStatus.remove(status_id)\n }\n }\n\n if (this.isReadyToGetVisible()) {\n this.updateWidth()\n }\n }\n }\n\n getProps(context = this.context) {\n return extendPropsWithContextInClassComponent(\n this.props,\n FormStatus.defaultProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement),\n context?.FormStatus\n )\n }\n\n getStatusId() {\n return `${this.state.id}-gs`\n }\n\n updateWidth = () => {\n // set max-width to this form-status, using the \"linked mother\"\n if (this._ref.current) {\n const { width_element, width_selector } = this.props\n setMaxWidthToElement({\n element: this._ref.current,\n widthElement: width_element && width_element.current,\n widthSelector: width_selector,\n })\n }\n }\n\n shouldAnimate() {\n return this.props.no_animation === false\n }\n\n isReadyToGetVisible(props = this.props) {\n return isTrue(props.show) && FormStatus.getContent(props)\n ? true\n : false\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = this.getProps()\n\n const {\n title,\n state: rawState,\n size,\n variant,\n className,\n stretch,\n shellSpace,\n text_id,\n\n show, // eslint-disable-line\n no_animation, // eslint-disable-line\n label, // eslint-disable-line\n status_id, // eslint-disable-line\n globalStatus, // eslint-disable-line\n id, // eslint-disable-line\n text, // eslint-disable-line\n icon, // eslint-disable-line\n icon_size, // eslint-disable-line\n skeleton, // eslint-disable-line\n children, // eslint-disable-line\n role,\n\n ...rest\n } = props\n\n const state = FormStatus.correctStatus(rawState) || this.stateCache\n const iconToRender = FormStatus.getIcon({\n state,\n icon,\n icon_size,\n })\n\n const contentToRender = FormStatus.getContent(this.props)\n\n const hasStringContent =\n typeof contentToRender === 'string' && contentToRender.length > 0\n\n const params = {\n className: classnames(\n 'dnb-form-status',\n state && `dnb-form-status--${state}`,\n `dnb-form-status__size--${size}`,\n variant && `dnb-form-status__variant--${variant}`,\n stretch && 'dnb-form-status--stretch',\n hasStringContent ? 'dnb-form-status--has-content' : null,\n createSpacingClasses(props),\n className\n ),\n id: !String(id).startsWith('null') ? this.state.id : null,\n title,\n role,\n ...rest,\n }\n\n if (!role) {\n switch (state) {\n case 'info':\n params.role = 'status'\n break\n default:\n params.role = 'alert'\n }\n }\n\n const textParams = {\n className: classnames(\n 'dnb-form-status__text',\n createSkeletonClass('font', skeleton, this.context)\n ),\n id: !String(text_id).startsWith('null') ? text_id : null,\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-form-status__shell',\n createSpacingClasses({ space: shellSpace })\n ),\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n validateDOMAttributes(null, textParams)\n\n return (\n <HeightAnimation\n element=\"span\"\n open={this.isReadyToGetVisible()}\n animate={this.shouldAnimate()}\n duration={600}\n {...params}\n innerRef={this._ref}\n >\n <span {...shellParams}>\n {iconToRender}\n <span {...textParams}>\n {contentToRender || this.contentCache}\n </span>\n </span>\n </HeightAnimation>\n )\n }\n}\n\nexport const ErrorIcon = (props) => {\n const { title = 'error' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-magenta']\n : properties.ui['--color-fire-red']\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-magenta-light-2']\n : properties.ui['--color-white']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n d=\"M23.625 17.864A3.547 3.547 0 0120.45 23H3.548a3.546 3.546 0 01-3.172-5.136l8.45-14.902a3.548 3.548 0 016.347 0l8.452 14.902z\"\n fill={fill}\n />\n <path\n d=\"M12 16.286a1.286 1.286 0 100 2.572 1.286 1.286 0 000-2.572z\"\n fill={line}\n />\n <path\n d=\"M12 13.818v-5\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nErrorIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const WarnIcon = (props) => {\n const { title = 'error' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-yellow-dark']\n : properties.ui['--color-accent-yellow']\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-black']\n : properties.ui['--color-black-80']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n d=\"M23.625 17.864A3.547 3.547 0 0120.45 23H3.548a3.546 3.546 0 01-3.172-5.136l8.45-14.902a3.548 3.548 0 016.347 0l8.452 14.902z\"\n fill={fill}\n />\n <path\n d=\"M12 16.286a1.286 1.286 0 100 2.572 1.286 1.286 0 000-2.572z\"\n fill={line}\n />\n <path\n d=\"M12 13.818v-5\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nWarnIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const InfoIcon = (props) => {\n const { title = 'info' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n let fill = isSbankenTheme\n ? properties.sbanken['--sb-color-violet-light']\n : properties.ui['--color-sea-green']\n if (props && props?.state === 'success') {\n fill = isSbankenTheme\n ? properties.sbanken['--sb-color-green-dark-3']\n : properties.ui['--color-summer-green']\n }\n\n const line = isSbankenTheme\n ? properties.sbanken['--sb-color-green-light-2']\n : properties.ui['--color-white']\n\n return (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" {...props}>\n <title>{title}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.268 0a11.25 11.25 0 105.566 21.017l6.112 2.91a.75.75 0 001-1l-2.911-6.112A11.234 11.234 0 0011.268 0z\"\n fill={fill}\n />\n <circle cx=\"11\" cy=\"6.5\" r=\".5\" fill=\"#fff\" stroke={line} />\n <path\n d=\"M13.75 16H13a1.5 1.5 0 01-1.5-1.5v-3.75a.75.75 0 00-.75-.75H10\"\n stroke={line}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\nInfoIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport const MarketingIcon = (props) => {\n const { title = 'marketing' } = props || {}\n const isSbankenTheme = useTheme()?.name === 'sbanken'\n const fill = isSbankenTheme\n ? properties.sbanken['--sb-color-violet-light']\n : properties.ui['--color-black-80']\n\n return (\n <svg\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <title>{title}</title>\n <path\n d=\"M6 15.25H4.5c-2.042 0-3.75-1.707-3.75-3.75S2.458 7.75 4.5 7.75H6v7.5ZM7.5 15.25c4.801 0 8.846 1.897 12.75 4.5V3.25c-3.904 2.603-7.949 4.5-12.75 4.5v7.5ZM23.25 10a.75.75 0 0 0-1.5 0h1.5Zm-1.5 3a.75.75 0 0 0 1.5 0h-1.5ZM8.483 21.043a.75.75 0 1 0 1.034-1.086l-1.034 1.086ZM21.75 10v3h1.5v-3h-1.5ZM6 15.25a8.058 8.058 0 0 0 2.483 5.793l1.034-1.086A6.559 6.559 0 0 1 7.5 15.25H6Z\"\n fill={fill}\n />\n </svg>\n )\n}\nMarketingIcon.propTypes = {\n title: PropTypes.string,\n}\n\nexport function setMaxWidthToElement({\n element,\n id = null,\n widthElement = null,\n widthSelector = null,\n}) {\n if (!(element && typeof window !== 'undefined')) {\n return // stop here\n }\n try {\n if (!id && !widthSelector) {\n id = element.getAttribute('id')\n }\n widthSelector = widthSelector || id?.replace('-form-status', '') || id\n\n let width = sumElementWidth({\n widthElement,\n widthSelector,\n })\n\n if (width > 40) {\n const maxWidth = 30 * 16 // use 12rem, because that's the default width in chrome for an input\n if (width < maxWidth) {\n width = maxWidth\n }\n\n const remWidth = `${width / 16}rem`\n\n const style = window.getComputedStyle(element)\n const hasCustomWidth = element.style.maxWidth\n ? false\n : (style.minWidth !== '' && style.minWidth !== 'auto') ||\n (style.maxWidth !== '' && style.maxWidth !== 'none')\n\n if (!hasCustomWidth) {\n element.style.maxWidth = remWidth\n }\n }\n } catch (e) {\n // skip logging\n }\n}\n\nfunction sumElementWidth({ widthElement, widthSelector }) {\n let width = 0\n if (typeof document === 'undefined') {\n return width // stop here\n }\n try {\n // beside \"selector\" - which is straight forward, we\n // also check if we can get an ID given by text_id\n const ids = widthElement\n ? [widthElement]\n : widthSelector.split(/, |,/g)\n\n width = ids.reduce((acc, cur) => {\n const elem =\n typeof cur === 'string'\n ? cur[0] === '.'\n ? document.querySelector(cur)\n : document.getElementById(cur)\n : cur\n\n let width =\n (elem && elem.offsetWidth) || window.getComputedStyle(elem).width\n if (/em|rem/.test(width)) {\n width = parseFloat(width) * 16\n }\n\n if (width > 0) {\n // add additional one more spacing unit\n // to make it more correct for small elements\n if (acc > 0) {\n acc += 16\n }\n acc += width\n }\n\n return acc\n }, width)\n } catch (e) {\n // skip logging\n }\n\n return width\n}\n\nFormStatus._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -113,7 +113,10 @@ export interface ContextState {
113
113
  setFieldConnection?: (path: Path, connections: FieldConnections) => void;
114
114
  isEmptyDataRef?: React.MutableRefObject<boolean>;
115
115
  addSetShowAllErrorsRef?: React.MutableRefObject<Array<(showAllErrors: boolean) => void>>;
116
- fieldDisplayValueRef?: React.MutableRefObject<Record<Path, React.ReactNode>>;
116
+ fieldDisplayValueRef?: React.MutableRefObject<Record<Path, {
117
+ type: 'field';
118
+ value?: React.ReactNode;
119
+ }>>;
117
120
  fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>;
118
121
  valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>;
119
122
  fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, React.ReactNode>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AA8MtE,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,OAAO"}
1
+ {"version":3,"file":"Context.js","names":["React","makeAjvInstance","defaultContextState","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","contextErrorMessages","props","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?: 'onSubmit' | 'onPathChange' | 'onMount'\n callback: (params?: { value: unknown }) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters =\n FilterDataPathConditionParameters & {\n path: Path\n }\nexport type FilterDataPathCondition<Data = unknown> = (\n parameters: FilterDataPathConditionParameters<Data>\n) => boolean | undefined\nexport type FilterDataPathConditionParameters<Data = unknown> = {\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n data: Data\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n FilterDataPathCondition<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => void\n setVisibleError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setHandleSubmit?: (\n callback: HandleSubmitCallback,\n params?: { remove?: boolean }\n ) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Record<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAqCC,eAAe,QAAQ,UAAU;AA8MtE,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAEzB,eAAe,CAAC,CAAC;EAC9B0B,oBAAoB,EAAEtB,SAAS;EAC/BuB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,aAAa,CAAe5B,mBAAmB,CAAC;AAEtE,eAAe2B,OAAO"}
@@ -170,7 +170,8 @@ export default function Provider(props) {
170
170
  }, []);
171
171
  const mutateDataHandler = useCallback((data, handler, {
172
172
  remove = false,
173
- mutate = true
173
+ mutate = true,
174
+ fireHandlerWhen = null
174
175
  } = {}) => {
175
176
  const freshData = {};
176
177
  const mutateEntry = (path, result) => {
@@ -198,20 +199,27 @@ export default function Provider(props) {
198
199
  if (exists) {
199
200
  var _fieldErrorRef$curren;
200
201
  const value = pointer.get(data, path);
201
- const displayValue = fieldDisplayValueRef.current[path];
202
+ const {
203
+ value: displayValue,
204
+ type
205
+ } = fieldDisplayValueRef.current[path] || {};
202
206
  const internal = {
203
207
  error: (_fieldErrorRef$curren = fieldErrorRef.current) === null || _fieldErrorRef$curren === void 0 ? void 0 : _fieldErrorRef$curren[path]
204
208
  };
205
- const result = handler({
206
- path,
207
- value,
208
- displayValue,
209
- label: props.label,
210
- data: internalDataRef.current,
211
- props,
212
- internal
213
- });
214
- mutateEntry(path, result);
209
+ if ((fireHandlerWhen === null || fireHandlerWhen === void 0 ? void 0 : fireHandlerWhen({
210
+ type
211
+ })) !== false) {
212
+ const result = handler({
213
+ path,
214
+ value,
215
+ displayValue,
216
+ label: props.label,
217
+ data: internalDataRef.current,
218
+ props,
219
+ internal
220
+ });
221
+ mutateEntry(path, result);
222
+ }
215
223
  }
216
224
  });
217
225
  if (!mutate) {
@@ -642,7 +650,10 @@ export default function Provider(props) {
642
650
  };
643
651
  const transformData = (data, handler) => {
644
652
  return mutateDataHandler(data, handler, {
645
- mutate: false
653
+ mutate: false,
654
+ fireHandlerWhen: ({
655
+ type
656
+ }) => type === 'field'
646
657
  });
647
658
  };
648
659
  const formElement = formElementRef.current;