import { RtUseBaseProps, RtUseBasePropsReturnValue } from '../rt-hoc.types'; import { version } from '@dpa/ritm-intro/version'; import { useContext, useEffect } from 'react'; import { FrameContext } from '@dpa/react-frame-context'; import { RtFrameLayers } from '@dpa/react-frame-intro'; import { gt } from 'semver'; /** * Хук для управления базовыми свойствами Ritm-компонентов. * Обеспечивает обработку идентификатора, событий мыши, класса и тестового идентификатора. * * @param {RtUseBaseProps} props - Входные свойства, включающие идентификатор, события, классы и произвольные данные. * @param minVersion - Минимальная необходимая версия для работоспособности компонента. * @returns {object} Объект с обработанными свойствами для использования в компоненте. * * @example * import React, { useId } from 'react'; * import cn from 'classnames'; * import { useRtBaseProps, RtBaseEvents, RtBaseProps } from '@dpa/react-hoc'; * * type RtComponentProps = RtBaseEvents & RtBaseProps & { myProp: number } * * const RtComponent = (props: RtComponentProps) => { * const { id, ...baseProps } = useRtBaseProps(props, '0.2.2'); * // Вытаскиваем className, id и другие значния если нужны * const localId = useId() * const ID = localId || id; * * return ( *