import React, { useCallback } from 'react'; import styled from 'styled-components'; import { AscSortIcon } from '@redocly/theme/icons/AscSortIcon/AscSortIcon'; import { DescSortIcon } from '@redocly/theme/icons/DescSortIcon/DescSortIcon'; import { Dropdown } from '@redocly/theme/components/Dropdown/Dropdown'; import { DropdownMenu } from '@redocly/theme/components/Dropdown/DropdownMenu'; import { DropdownMenuItem } from '@redocly/theme/components/Dropdown/DropdownMenuItem'; import { useThemeHooks } from '@redocly/theme/core/hooks'; export type CatalogSortButtonProps = { onSortChange: (sortOption: string | null) => void; currentSort?: string | null; }; export function CatalogSortButton({ onSortChange, currentSort, }: { onSortChange: (sortOption: string | null) => void; currentSort?: string | null; }) { const { useTranslate } = useThemeHooks(); const { translate } = useTranslate(); const toggleSort = useCallback( (field: string): void => { const newSort = currentSort === `-${field}` ? field : `-${field}`; onSortChange(newSort); }, [currentSort, onSortChange], ); return (