import { useCallback, useState } from 'react'; import { useTheme } from '@emotion/react'; import { useRecoilState, useRecoilValue } from 'recoil'; import { IconButton } from '@/ui/button/components/IconButton'; import { DropdownMenuHeader } from '@/ui/dropdown/components/DropdownMenuHeader'; import { DropdownMenuItem } from '@/ui/dropdown/components/DropdownMenuItem'; import { DropdownMenuItemsContainer } from '@/ui/dropdown/components/DropdownMenuItemsContainer'; import { DropdownMenuSeparator } from '@/ui/dropdown/components/DropdownMenuSeparator'; import { ViewFieldDefinition, ViewFieldMetadata, } from '@/ui/editable-field/types/ViewField'; import DropdownButton from '@/ui/filter-n-sort/components/DropdownButton'; import { FiltersHotkeyScope } from '@/ui/filter-n-sort/types/FiltersHotkeyScope'; import { IconChevronLeft, IconMinus, IconPlus, IconTag } from '@/ui/icon'; import { hiddenTableColumnsState, tableColumnsState, visibleTableColumnsState, } from '@/ui/table/states/tableColumnsState'; import { TableOptionsDropdownSection } from './TableOptionsDropdownSection'; type TableOptionsDropdownButtonProps = { onColumnsChange?: (columns: ViewFieldDefinition[]) => void; HotkeyScope: FiltersHotkeyScope; }; enum Option { Properties = 'Properties', } export const TableOptionsDropdownButton = ({ onColumnsChange, HotkeyScope, }: TableOptionsDropdownButtonProps) => { const theme = useTheme(); const [isUnfolded, setIsUnfolded] = useState(false); const [selectedOption, setSelectedOption] = useState