import { CommandMenuItemComponent } from '@/command-menu-item/display/components/CommandMenuItemComponent'; import { CommandMenuContext } from '@/command-menu-item/contexts/CommandMenuContext'; import { PinnedCommandMenuItemsInlineMeasurements } from '@/command-menu-item/server-items/display/components/PinnedCommandMenuItemsInlineMeasurements'; import { PINNED_COMMAND_MENU_ITEMS_GAP } from '@/command-menu-item/server-items/display/constants/PinnedCommandMenuItemsGap'; import { usePinnedCommandMenuItemsInlineLayout } from '@/command-menu-item/server-items/display/hooks/usePinnedCommandMenuItemsInlineLayout'; import { NodeDimension } from '@/ui/utilities/dimensions/components/NodeDimension'; import { styled } from '@linaria/react'; import { motion } from 'framer-motion'; import { useContext, useMemo } from 'react'; import { ThemeContext } from 'twenty-ui/theme-constants'; const StyledActionContainer = styled(motion.div)` align-items: center; display: flex; justify-content: center; `; const StyledWrapper = styled.div` flex: 1 1 0; min-width: 0; overflow: hidden; `; const StyledContainer = styled.div` display: flex; justify-content: flex-end; min-width: 0; width: 100%; `; const StyledItemsContainer = styled.div` display: flex; gap: ${PINNED_COMMAND_MENU_ITEMS_GAP}px; max-width: 100%; overflow: hidden; `; export const PinnedCommandMenuItemButtons = () => { const { theme } = useContext(ThemeContext); const { commandMenuItems } = useContext(CommandMenuContext); const pinnedCommandMenuItems = useMemo( () => commandMenuItems.filter( (commandMenuItem) => commandMenuItem.isPinned === true, ), [commandMenuItems], ); const { pinnedInlineCommandMenuItems, pinnedOverflowCommandMenuItems, onContainerDimensionChange, onCommandMenuItemDimensionChange, } = usePinnedCommandMenuItemsInlineLayout({ pinnedCommandMenuItems, }); return ( <> {pinnedInlineCommandMenuItems.map( (pinnedInlineCommandMenuItem) => ( ), )} ); };