{"version":3,"file":"static/js/TextArea.a1ccee55.js","mappings":"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","sources":["components/TextArea/TextArea.styled.ts","components/TextArea/TextArea.tsx","types/EpiElementDependency.ts","utils/evaluteVisibilityFromDependencies.ts","utils/generateValidationRules.ts","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js"],"sourcesContent":["import { FormHelperText, TextField as MuiTextField } from \"@mui/material\";\nimport { styled } from \"styled-components\";\nimport theme from \"styled-theming\";\n\nimport Icon from \"components/Icon\";\nimport {\n styleBodyL,\n styleBodyM,\n styleBodyS,\n styleBodySSpaced,\n styleLabelM,\n} from \"style/components/Typography\";\nimport { MQ } from \"style/mediaQueries\";\n\nconst labelFocus = theme(\"theme\", {\n undefined: \"--text-on-neutral-secondary\",\n lightgray: \"--text-on-neutral-secondary\",\n blue: \"--text-on-blue-secondary\",\n cyan: \"--text-on-cyan-secondary\",\n black: \"--text-on-blue-secondary\",\n});\n\nconst textPlaceholder = theme(\"theme\", {\n undefined: \"--text-on-neutral-disabled\",\n lightgray: \"--text-on-neutral-disabled\",\n blue: \"--text-on-blue-disabled\",\n cyan: \"--text-on-cyan-disabled\",\n black: \"--text-on-blue-disabled\",\n});\n\nconst textDisabled = theme(\"theme\", {\n undefined: \"--text-on-neutral-disabled\",\n lightgray: \"--text-on-neutral-disabled\",\n blue: \"--text-on-blue-disabled\",\n cyan: \"--text-on-cyan-disabled\",\n black: \"--text-on-blue-disabled\",\n});\n\nconst textError = theme(\"theme\", {\n undefined: \"--text-on-neutral-inverted\",\n lightgray: \"--text-on-neutral-inverted\",\n blue: \"--text-on-coral-primary\",\n cyan: \"--text-on-neutral-inverted\",\n black: \"--text-on-coral-primary\",\n});\n\nconst textColor = theme(\"theme\", {\n undefined: \"--text-on-neutral-primary\",\n lightgray: \"--text-on-neutral-primary\",\n blue: \"--text-on-blue-primary\",\n cyan: \"--text-on-cyan-primary\",\n black: \"--text-on-blue-primary\",\n});\n\nconst borderColor = theme(\"theme\", {\n undefined: \"--field-on-neutral-default-border\",\n lightgray: \"--field-on-neutral-default-border\",\n blue: \"--field-on-blue-default-border\",\n cyan: \"--field-on-cyan-default-border\",\n black: \"--field-on-blue-default-border\",\n});\n\nconst borderHover = theme(\"theme\", {\n undefined: \"--field-on-neutral-hover-border\",\n lightgray: \"--field-on-neutral-hover-border\",\n blue: \"--field-on-blue-hover-border\",\n cyan: \"--field-on-cyan-hover-border\",\n black: \"--field-on-blue-hover-border\",\n});\n\nconst borderError = theme(\"theme\", {\n undefined: \"--field-on-neutral-error-border\",\n lightgray: \"--field-on-neutral-error-border\",\n blue: \"--field-on-blue-error-border\",\n cyan: \"--field-on-cyan-error-border\",\n black: \"--field-on-blue-error-border\",\n});\n\nconst borderDisabled = theme(\"theme\", {\n undefined: \"--field-on-neutral-disabled-border\",\n lightgray: \"--field-on-neutral-disabled-border\",\n blue: \"--field-on-blue-disabled-border\",\n cyan: \"--field-on-cyan-disabled-border\",\n black: \"--field-on-blue-disabled-border\",\n});\n\nexport const FieldWrapper = styled.div`\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 0;\n grid-column: col-start 1 / span 2;\n width: 100%;\n\n ${MQ.FROM_M} {\n grid-column: ${theme(\"displayOption\", {\n Full: \"auto / span 6\",\n Half: \"auto / span 3\",\n OneThird: \"auto / span 2\",\n TwoThirds: \"auto / span 4\",\n })};\n }\n`;\n\nexport const StyledTextArea = styled(MuiTextField)`\n width: 100%;\n\n && {\n .MuiInputLabel {\n &-root {\n ${theme(\"size\", {\n small: styleBodyM,\n medium: styleBodyL,\n })};\n color: var(${textColor});\n padding: 0 0 0 0.875rem;\n transform: ${theme(\"size\", {\n small: \"translate(0, 0.875rem)\",\n medium: \"translate(0, 1.3125rem)\",\n })};\n\n ${MQ.FROM_XL} {\n padding: ${theme(\"size\", {\n small: \"0 0 0 0.875rem\",\n medium: \"0 0 0 1.3125rem\",\n })};\n transform: ${theme(\"size\", {\n small: \"translate(0, 1.3125rem)\",\n medium: \"translate(0, 1.75rem)\",\n })};\n }\n\n &.Mui-error {\n padding-right: 1.3125rem;\n\n ${MQ.FROM_XL} {\n padding-right: 1.3125rem;\n }\n }\n\n &.Mui-focused {\n ${theme(\"size\", {\n small: styleBodySSpaced,\n medium: styleBodyM,\n })};\n color: var(${labelFocus});\n transform: ${theme(\"size\", {\n small: \"translate(0, 0)\",\n medium: \"translate(0, 0.4375rem)\",\n })};\n\n ${MQ.FROM_XL} {\n transform: ${theme(\"size\", {\n small: \"translate(0, 0.4375rem)\",\n medium: \"translate(0, 0.875rem)\",\n })};\n }\n }\n\n &.Mui-disabled {\n color: var(${textDisabled});\n }\n }\n\n &-shrink {\n ${theme(\"size\", {\n small: styleBodySSpaced,\n medium: styleBodyM,\n })};\n color: var(${labelFocus});\n transform: ${theme(\"size\", {\n small: \"translate(0, 0)\",\n medium: \"translate(0, 0.4375rem)\",\n })};\n\n ${MQ.FROM_XL} {\n transform: ${theme(\"size\", {\n small: \"translate(0, 0.4375rem)\",\n medium: \"translate(0, 0.875rem)\",\n })};\n }\n\n /* prettier-ignore */\n &:has(+ .MuiOutlinedInput-root\n .MuiInputBase-input:-webkit-autofill) {\n color: var(--color-black);\n }\n }\n }\n\n .MuiInputBase {\n &-input {\n ${theme(\"size\", {\n small: styleBodyM,\n medium: styleBodyL,\n })};\n color: var(${textColor});\n height: ${theme(\"size\", {\n small: \"2.1875rem !important\",\n medium: \"2.625rem !important\",\n })};\n padding: ${theme(\"size\", {\n small: \"1.75rem 0.875rem 0.875rem\",\n medium: \"2.1875rem 0.875rem 0.875rem\",\n })};\n\n ${MQ.FROM_XL} {\n height: ${theme(\"size\", {\n small: \"2.625rem !important\",\n medium: \"3.5rem !important\",\n })};\n padding: ${theme(\"size\", {\n small: \"2.1875rem 0.875rem 0.875rem\",\n medium: \"2.625rem 1.3125rem 1.3125rem\",\n })};\n }\n\n &.Mui-disabled {\n -webkit-text-fill-color: var(${textDisabled});\n color: var(${textDisabled});\n }\n\n &::placeholder {\n color: var(${textPlaceholder});\n opacity: 1;\n }\n }\n\n &-root {\n padding: 0;\n\n .MuiOutlinedInput {\n &-notchedOutline {\n border-color: var(${borderColor});\n transition: border-color 0.2s ease-in-out;\n top: 0;\n\n legend {\n height: 0;\n overflow: hidden;\n width: 0;\n }\n }\n }\n\n &:hover {\n &:not(.Mui-disabled, .Mui-error) {\n .MuiOutlinedInput {\n &-notchedOutline {\n border-color: var(${borderHover});\n }\n }\n }\n }\n\n &.Mui-error.Mui-focused,\n &.Mui-error {\n .MuiOutlinedInput {\n &-notchedOutline {\n border-top-left-radius: 0;\n border-color: var(${borderError});\n }\n }\n\n .MuiInputBase-input {\n padding-right: 3.5rem;\n\n ${MQ.FROM_XL} {\n padding-right: 3.9375rem;\n }\n }\n }\n\n &.Mui-focused {\n .MuiOutlinedInput {\n &-notchedOutline {\n border-color: var(${borderHover});\n border-width: 1px;\n box-shadow: 0 0 0 0.4375rem var(--field-focus);\n }\n }\n }\n\n &.Mui-disabled {\n .MuiOutlinedInput {\n &-notchedOutline {\n border-color: var(${borderDisabled});\n }\n }\n }\n }\n }\n\n .MuiFormHelperText {\n &-root {\n ${theme(\"size\", {\n small: styleBodyS,\n medium: styleBodyM,\n })};\n color: var(${labelFocus});\n margin: 0.4375rem 0 0;\n\n &.Mui-disabled {\n color: var(${textDisabled});\n }\n }\n }\n }\n`;\n\nexport const ErrorIcon = styled(Icon)`\n color: var(${borderError});\n position: absolute;\n right: 0.875rem;\n top: 0.875rem;\n\n ${MQ.FROM_XL} {\n top: 1.3125rem;\n }\n`;\n\nexport const ErrorText = styled(FormHelperText)`\n && {\n ${styleLabelM};\n margin: 0 auto 0 0;\n z-index: 2;\n\n span {\n background-color: var(${borderError});\n border-radius: 0.25rem 0.25rem 0 0;\n color: var(${textError});\n display: block;\n margin-right: 2.625rem;\n padding: 0 0.4375rem;\n }\n }\n`;\n","import {\n ThemeProvider as MuiThemeProvider,\n createTheme,\n} from \"@mui/material/styles\";\nimport classNames from \"classnames\";\nimport React, { ReactElement, useContext, useEffect } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { ThemeContext, ThemeProvider } from \"styled-components\";\n\nimport evaluteVisibilityFromDependencies from \"utils/evaluteVisibilityFromDependencies\";\nimport generateValidationRules from \"utils/generateValidationRules\";\n\nimport {\n ErrorIcon,\n ErrorText,\n FieldWrapper,\n StyledTextArea,\n} from \"./TextArea.styled\";\nimport TextAreaProps from \"./TextAreaProps\";\n\nconst TextArea = ({\n id,\n identifier,\n label,\n placeHolder,\n focused,\n disabled,\n defaultValue,\n predefinedValue,\n displayOption = \"Full\",\n autoComplete,\n description,\n className,\n elementName,\n minRows = 2,\n validators,\n dependencies,\n control,\n size = \"medium\",\n setValue,\n}: TextAreaProps): ReactElement => {\n const formContext = useFormContext();\n const unregister = formContext?.unregister || undefined;\n defaultValue = defaultValue || predefinedValue;\n\n const classes = classNames(\n className,\n validators?.map((validator) => {\n return validator?.model?.validationCssClass || \"\";\n }),\n );\n\n const rules =\n validators && validators?.length > 0\n ? generateValidationRules(validators)\n : undefined;\n\n const themeContext = useContext(ThemeContext);\n const visibleFromDependencies =\n dependencies && control\n ? evaluteVisibilityFromDependencies(dependencies, control)\n : true;\n\n useEffect(() => {\n if (elementName && setValue)\n if (visibleFromDependencies) setValue(elementName, defaultValue);\n else unregister(elementName);\n }, [\n defaultValue,\n elementName,\n unregister,\n setValue,\n visibleFromDependencies,\n ]);\n\n return (\n \n \n {visibleFromDependencies && (\n (\n \n {error && (\n \n {error.message}\n \n )}\n \n {error && (\n \n )}\n \n ) || null,\n }}\n minRows={minRows}\n variant=\"outlined\"\n multiline\n {...field}\n />\n \n )}\n />\n )}\n \n \n );\n};\n\nexport default React.memo(TextArea);\n","export default interface EpiElementDependency {\n action?: {\n displayName?: string;\n name?: string;\n order?: number;\n clientsideAction?: EpiDependencyAction;\n };\n conditionCombination?: EpiConditionCombination;\n conditions: EpiCondition[];\n}\n\nexport interface EpiCondition {\n fieldName: string;\n operator: EpiConditionOperator;\n fieldValue: string;\n}\n\nexport enum EpiConditionCombination {\n All = \"All\",\n Any = \"Any\",\n}\n\nexport enum EpiDependencyAction {\n Hide = \"hide\",\n Show = \"show\",\n}\n\nexport enum EpiConditionOperator {\n NotApplicable = \"NotApplicable\",\n MatchRegularExpression = \"MatchRegularExpression\",\n Equals = \"Equals\",\n NotEquals = \"NotEquals\",\n Contains = \"Contains\",\n NotContains = \"NotContains\",\n}\n","import { useWatch, Control } from \"react-hook-form\";\n\nimport EpiElementDependency, {\n EpiConditionCombination,\n EpiConditionOperator,\n EpiDependencyAction,\n} from \"types/EpiElementDependency\";\n\nconst evaluateConditionByOperator = (\n operator: EpiConditionOperator,\n targetValue: string | string[],\n conditionValue: string,\n): boolean => {\n if (typeof targetValue === \"undefined\") return false;\n\n if (!Array.isArray(targetValue))\n switch (operator) {\n case EpiConditionOperator.Equals:\n return targetValue === conditionValue;\n case EpiConditionOperator.NotEquals:\n return targetValue !== conditionValue;\n case EpiConditionOperator.Contains:\n return targetValue.includes(conditionValue);\n case EpiConditionOperator.NotContains:\n return !targetValue.includes(conditionValue);\n case EpiConditionOperator.MatchRegularExpression:\n return new RegExp(conditionValue).test(targetValue);\n case EpiConditionOperator.NotApplicable:\n return true;\n default:\n return false;\n }\n else\n switch (operator) {\n case EpiConditionOperator.Equals:\n return targetValue.includes(conditionValue);\n case EpiConditionOperator.NotEquals:\n return !targetValue.includes(conditionValue);\n case EpiConditionOperator.Contains:\n return targetValue.some((value) =>\n value.includes(conditionValue),\n );\n case EpiConditionOperator.NotContains:\n return !targetValue.some((value) =>\n value.includes(conditionValue),\n );\n case EpiConditionOperator.MatchRegularExpression:\n return targetValue.some((value) =>\n new RegExp(conditionValue).test(value),\n );\n case EpiConditionOperator.NotApplicable:\n return true;\n default:\n return false;\n }\n};\n\nconst evaluteVisibleFromDependencies = (\n dependency: EpiElementDependency | undefined,\n control: Control, any>, // eslint-disable-line @typescript-eslint/no-explicit-any\n): boolean => {\n if (dependency && control) {\n const { conditionCombination, action } = dependency;\n const returnValue =\n action?.clientsideAction === EpiDependencyAction.Show;\n\n const conditions = dependency.conditions || [];\n const elementValues = conditions.map(\n (condition) =>\n useWatch({\n control,\n name: condition.fieldName,\n }) || \"\",\n );\n\n if (conditionCombination === EpiConditionCombination.Any)\n return conditions\n .map((condition, index) => {\n const { operator, fieldValue } = condition;\n const elementValue = elementValues[index];\n return evaluateConditionByOperator(\n operator,\n elementValue,\n fieldValue || \"\",\n )\n ? returnValue\n : !returnValue;\n })\n .some(Boolean);\n else\n return conditions.every((condition, index) => {\n const { operator, fieldValue } = condition;\n const elementValue = elementValues[index];\n return evaluateConditionByOperator(\n operator,\n elementValue,\n fieldValue || \"\",\n )\n ? returnValue\n : !returnValue;\n });\n }\n return true;\n};\n\nexport default evaluteVisibleFromDependencies;\n","import { ValidationRule } from \"react-hook-form\";\n\nimport EpiValidator from \"types/EpiValidator\";\n\nconst generateValidationRules = (validationRules: EpiValidator[]) => {\n let rules = { validate: {} } as Rules;\n\n validationRules.forEach((validationRule: EpiValidator, index: number) => {\n switch (validationRule.type) {\n case \"RequiredValidator\":\n rules = {\n ...rules,\n required: {\n value: true,\n message:\n validationRule?.model?.message ||\n \"This field is required\",\n },\n };\n break;\n case \"MaxLengthValidator\":\n rules = {\n ...rules,\n maxLength: {\n value: validationRule?.model?.maxLength || 100,\n message:\n validationRule?.model?.message ||\n \"This field has a too long value\",\n },\n };\n break;\n case \"AllowedExtensionsValidator\":\n rules = {\n ...rules,\n validate: {\n ...rules.validate,\n [`${validationRule.type}-${index}`]: (\n FileList: any[], //eslint-disable-line @typescript-eslint/no-explicit-any\n ): string | boolean => {\n if (FileList && FileList.length > 0) {\n const files = Array.from(FileList);\n const fallbackExtensions = [\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"gif\",\n \"bmp\",\n \"webp\",\n \"svg\",\n \"doc\",\n \"docx\",\n \"xls\",\n \"xlsx\",\n \"pdf\",\n ];\n const allowedExtensions = validationRule?.model\n ?.accept\n ? validationRule.model.accept\n .replaceAll(\".\", \"\")\n .split(\",\")\n : fallbackExtensions;\n const filesExtensions = files.map((file) =>\n file.name.split(\".\").pop().toLowerCase(),\n );\n const isValid = filesExtensions.every(\n (extension) =>\n allowedExtensions.includes(extension),\n );\n if (!isValid) {\n return (\n validationRule?.model?.message ||\n \"This field is invalid\"\n );\n }\n }\n return true;\n },\n },\n };\n break;\n case \"MaxFileSizeValidator\":\n rules = {\n ...rules,\n validate: {\n ...rules.validate,\n [`${validationRule.type}-${index}`]: (\n FileList: any[], //eslint-disable-line @typescript-eslint/no-explicit-any\n ): string | boolean => {\n if (FileList && FileList.length > 0) {\n const files = Array.from(FileList);\n const fallbackSizeInBytes = 104857600;\n const allowedSizeInBytes =\n validationRule?.model?.sizeInBytes ||\n fallbackSizeInBytes;\n const isValid = files.every(\n (file) =>\n Number(file?.size) < allowedSizeInBytes,\n );\n if (!isValid) {\n return (\n validationRule?.model?.message ||\n \"This field is invalid\"\n );\n }\n }\n return true;\n },\n },\n };\n break;\n default:\n if (validationRule?.model?.jsPattern) {\n rules = {\n ...rules,\n pattern: {\n value: new RegExp(validationRule?.model?.jsPattern),\n message:\n validationRule?.model?.message ||\n \"This field is invalid\",\n },\n };\n }\n break;\n }\n });\n return rules;\n};\n\ninterface Rules {\n required?: ValidationRule;\n maxLength?: ValidationRule;\n pattern?: ValidationRule;\n validate: {\n [key: string]: (value: any) => string | boolean; //eslint-disable-line @typescript-eslint/no-explicit-any\n };\n}\n\nexport default generateValidationRules;\n","export default {\n disabled: false\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n function Transition(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n var _proto = Transition.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n if (prevProps !== this.props) {\n var status = this.state.status;\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n this.updateStatus(false, nextStatus);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n _proto.performExit = function performExit() {\n var _this3 = this;\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n var active = true;\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n this.nextCallback.cancel = function () {\n active = false;\n };\n return this.nextCallback;\n };\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n _proto.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n return /*#__PURE__*/(\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n return Transition;\n}(React.Component);\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return pt.apply(void 0, [props].concat(args));\n },\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import React from 'react';\nexport default React.createContext(null);"],"names":["labelFocus","theme","undefined","lightgray","blue","cyan","black","textPlaceholder","textDisabled","textError","textColor","borderColor","borderHover","borderError","borderDisabled","FieldWrapper","styled","div","withConfig","componentId","MQ","FROM_M","Full","Half","OneThird","TwoThirds","StyledTextArea","MuiTextField","small","styleBodyM","medium","styleBodyL","FROM_XL","styleBodySSpaced","styleBodyS","ErrorIcon","Icon","ErrorText","FormHelperText","styleLabelM","TextArea","id","identifier","label","placeHolder","focused","disabled","defaultValue","predefinedValue","displayOption","autoComplete","description","className","elementName","minRows","validators","dependencies","control","size","setValue","formContext","useFormContext","unregister","classes","classNames","map","validator","_validator$model","model","validationCssClass","rules","length","generateValidationRules","themeContext","useContext","ThemeContext","visibleFromDependencies","evaluteVisibilityFromDependencies","useEffect","_jsx","MuiThemeProvider","createTheme","children","ThemeProvider","Controller","name","render","field","fieldState","error","_jsxs","message","placeholder","helperText","InputProps","endAdornment","_Fragment","icon","variant","multiline","React","EpiConditionCombination","EpiDependencyAction","EpiConditionOperator","evaluateConditionByOperator","operator","targetValue","conditionValue","Array","isArray","Equals","includes","NotEquals","Contains","some","value","NotContains","MatchRegularExpression","RegExp","test","NotApplicable","evaluteVisibleFromDependencies","dependency","conditionCombination","action","returnValue","clientsideAction","Show","conditions","elementValues","condition","useWatch","fieldName","Any","index","fieldValue","elementValue","Boolean","every","validationRules","validate","forEach","validationRule","_validationRule$model","_validationRule$model2","_validationRule$model3","_validationRule$model8","type","required","maxLength","FileList","_validationRule$model4","files","from","fallbackExtensions","allowedExtensions","accept","replaceAll","split","_validationRule$model5","file","pop","toLowerCase","extension","_validationRule$model6","fallbackSizeInBytes","allowedSizeInBytes","sizeInBytes","_validationRule$model7","Number","_validationRule$model9","_validationRule$model10","jsPattern","pattern","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","props","context","_this","call","this","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","state","status","nextCallback","getDerivedStateFromProps","_ref","prevState","_proto","prototype","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","timeout","mounting","node","nodeRef","current","scrollTop","forceReflow","performEnter","performExit","setState","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","cancel","nextState","callback","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","setTimeout","_this$props","childProps","TransitionGroupContext","Provider","only","noop","contextType","propTypes","defaultProps"],"sourceRoot":""}