import React, { useState } from 'react' import { useButton } from '@react-aria/button' import { HiddenSelect, useSelect } from '@react-aria/select' import { useSelectState, type SelectProps as AriaSelectProps } from '@react-stately/select' import { Filter, FilterContents } from '~components/Filter/Filter' import { type FilterButtonProps } from '~components/Filter/FilterButton' import { SelectProvider } from '~components/SingleSelect/context' import { ListBoxSection, ListItem, Option, SectionDivider, SelectPopoverContents, type SelectPopoverContentsProps, } from '~components/SingleSelect/subcomponents' import { getDisabledKeysFromItems } from '~components/SingleSelect/utils/getDisabledKeysFromItems' import { transformSelectItemToCollectionElement } from '~components/SingleSelect/utils/transformSelectItemToCollectionElement' import { type OverrideClassName } from '~components/types/OverrideClassName' import { type SingleSelectItem, type SingleSelectOption } from './types' import styles from './FilterSelect.module.css' type OmittedAriaSelectProps = | 'label' | 'children' | 'isOpen' | 'onOpenChange' | 'defaultOpen' | 'items' export type FilterSelectProps