Usage

Offer actions for an episode

This type is used by ContextMenu

tsx
import { ContextMenu, Text, VStack } from 'kuito';

const ITEMS = [
  { value: 'share', label: 'Share' },
  { value: 'played', label: 'Mark played' },
  { value: 'delete', label: 'Delete', destructive: true },
];

export default function Episode() {
  return (
    <ContextMenu title="Episode 4" items={ITEMS} onSelect={(event) => console.log(event.value)}>
      <VStack padding={12}>
        <Text>Episode 4</Text>
      </VStack>
    </ContextMenu>
  );
}

Type declaration

ts
export type ContextMenuProps = {
  /** In the order the menu lists them; each value names one item. */
  items: ContextMenuItem[];
  /** Heads the menu. */
  title?: string;
  /** Opens no menu. */
  disabled?: boolean;
  onSelect?: (event: ContextMenuEvent) => void;
  /** The views a long press opens the menu on, laid out inside it as a Box's. */
  children?: KuitoNode;
};

Members 5

NameTypeRequiredDescription
itemsContextMenuItem[]YesIn the order the menu lists them; each value names one item.
titlestringNoHeads the menu.
disabledbooleanNoOpens no menu.
onSelect(event: ContextMenuEvent) => voidNo—
childrenKuitoNodeNoThe views a long press opens the menu on, laid out inside it as a Box's.
onSelect — method signatures

Signatures

ts
(event: ContextMenuEvent): void

Parameters

NameTypeRequiredDescription
eventContextMenuEventYes—

Returns

void

Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.