import React, { useCallback, useRef, useState, useEffect, useMemo } from 'react'; import { TableVirtuoso } from 'react-virtuoso'; import cloneDeep from 'lodash/cloneDeep'; import { IconTrash, IconAlertCircle, IconInfoCircle } from '@tabler/icons'; import { useTheme } from 'providers/Theme'; import { useSelector, useDispatch } from 'react-redux'; import { updateTableColumnWidths } from 'providers/ReduxStore/slices/tabs'; import MultiLineEditor from 'components/MultiLineEditor/index'; import StyledWrapper from './StyledWrapper'; import { uuid } from 'utils/common'; import { useFormik } from 'formik'; import * as Yup from 'yup'; import { variableNameRegex } from 'utils/common/regex'; import toast from 'react-hot-toast'; import { Tooltip } from 'react-tooltip'; import { getGlobalEnvironmentVariables } from 'utils/collections'; import { stripEnvVarUid } from 'utils/environments'; import { usePersistedState } from 'hooks/usePersistedState'; import { useTrackScroll } from 'hooks/useTrackScroll'; const MIN_H = 35 * 2; const MIN_COLUMN_WIDTH = 80; const MIN_ROW_HEIGHT = 35; const TableRow = React.memo( ({ children, item, style, ...rest }) => (