'use client'; import clsx from 'clsx'; import { useState } from 'react'; import { TabList, TabPanel, Tabs } from 'react-tabs'; import Modal from '@/components/ui/Modal'; import TabLabel from '@/components/ui/TabLabel'; import { ReferenceType } from '@/models/language'; import { HelpTopic } from '@/models/miscellaneous'; import { IRSForm } from '@/models/rsform'; import { labelReferenceType } from '@/utils/labels'; import TabEntityReference from './TabEntityReference'; import TabSyntacticReference from './TabSyntacticReference'; export interface IReferenceInputState { type: ReferenceType; refRaw?: string; text?: string; mainRefs: string[]; basePosition: number; } interface DlgEditReferenceProps { hideWindow: () => void; schema: IRSForm; initial: IReferenceInputState; onSave: (newRef: string) => void; } export enum TabID { ENTITY = 0, SYNTACTIC = 1 } function DlgEditReference({ hideWindow, schema, initial, onSave }: DlgEditReferenceProps) { const [activeTab, setActiveTab] = useState(initial.type === ReferenceType.ENTITY ? TabID.ENTITY : TabID.SYNTACTIC); const [reference, setReference] = useState(''); const [isValid, setIsValid] = useState(false); return ( onSave(reference)} className='w-[40rem] px-6 h-[32rem]' helpTopic={HelpTopic.TERM_CONTROL} > ); } export default DlgEditReference;