import { html } from 'lit'; import { BlockHubRoundedRectangleIcon, DatabaseTableViewIcon, EmbedWebIcon, NumberedListIconLarge, TextIconLarge, } from '../../../../_common/icons/index.js'; import { BLOCKHUB_FILE_ITEMS, BLOCKHUB_LIST_ITEMS, BLOCKHUB_TEXT_ITEMS, } from '../config.js'; import { BlockHubCards } from './block-hub-cards.js'; export type CardListType = 'blank' | 'text' | 'list' | 'file' | 'database'; const shouldDisplayCard = ( type: CardListType | null, expanded: boolean, isCardListVisible: boolean, visibleCardType: CardListType | null ) => { return expanded && isCardListVisible && visibleCardType === type; }; export function BlockHubMenu( expanded: boolean, isGrabbing: boolean, visibleCardType: CardListType | null, isCardListVisible: boolean, showTooltip: boolean, maxHeight: number ) { const menuNum = 5; const height = menuNum * 44 + 10; const blockHubTextCards = BlockHubCards( BLOCKHUB_TEXT_ITEMS, 'text', 'Text block', maxHeight, shouldDisplayCard('text', expanded, isCardListVisible, visibleCardType), isGrabbing, showTooltip ); const blockHubListCards = BlockHubCards( BLOCKHUB_LIST_ITEMS, 'list', 'List', maxHeight, shouldDisplayCard('list', expanded, isCardListVisible, visibleCardType), isGrabbing, showTooltip ); const blockHubFileCards = BlockHubCards( BLOCKHUB_FILE_ITEMS, 'file', 'Content & Media', maxHeight, shouldDisplayCard('file', expanded, isCardListVisible, visibleCardType), isGrabbing, showTooltip ); return html`
`; }