import { useResponsiveTokens } from '../../hooks/useResponsiveTokens' import { FOUNDATION_THEME } from '../../tokens' import { Checkbox } from '../Checkbox' import Block from '../Primitives/Block/Block' import PrimitiveText from '../Primitives/PrimitiveText/PrimitiveText' import { type MultiSelectTokensType } from './multiSelect.tokens' import { getSelectAllState } from './utils' import * as RadixMenu from '@radix-ui/react-dropdown-menu' const SelectAllItem = ({ selected, availableValues, onSelectAll, selectAllText, disabled, }: { selected: string[] availableValues: string[] onSelectAll: (selectAll: boolean) => void selectAllText: string disabled?: boolean }) => { const multiSelectTokens = useResponsiveTokens('MULTI_SELECT') const { allSelected, someSelected } = getSelectAllState( selected, availableValues ) const handleClick = (e: React.MouseEvent) => { if (disabled) return e.preventDefault() e.stopPropagation() onSelectAll(!allSelected) } const getCheckboxState = () => { if (allSelected) return true if (someSelected) return 'indeterminate' return false } return ( {selectAllText} ) } export default SelectAllItem