define([], function() { return "import * as React from 'react';\nimport { ContextualMenu } from './ContextualMenu';\nimport { IPositionProps } from '../../utilities/positioning';\nimport { DirectionalHint } from '../../common/DirectionalHint';\n\nexport { DirectionalHint } from '../../common/DirectionalHint';\n\nexport interface IContextualMenuProps extends React.Props<ContextualMenu>, IPositionProps {\n  /**\n   * Collection of menu items.\n   * @default []\n   */\n  items: IContextualMenuItem[];\n\n  /**\n   * Element to anchor the ContextualMenu to.\n   */\n  targetElement?: HTMLElement;\n\n  /**\n   * Indicator of how the ContextualMenu should be anchored to its targetElement.\n   * @default DirectionalHint.rightBottomEdge\n   */\n  directionalHint?: DirectionalHint;\n\n  /**\n   * The gap space between the target element and the callout.\n   * @default 0\n   */\n  gapSpace?: number;\n\n  /**\n   * Aria Labelled by labelElementId\n   * @default null\n   */\n  labelElementId?: string;\n\n  /**\n   * Whether to focus on the menu when mounted.\n   * @default true\n   */\n  shouldFocusOnMount?: boolean;\n\n  /**\n   * Whether the beak should be visible.\n   * @default false\n   */\n  isBeakVisible?: boolean;\n\n  /**\n   * Callback when the ContextualMenu tries to close. If dismissAll is true then all\n   * submenus will be dismissed.\n   */\n  onDismiss?: (ev?: any, dismissAll?: boolean) => void;\n\n  /**\n   * CSS class to apply to the context menu.\n   * @default null\n   */\n  className?: string;\n\n  /**\n   * Whether this menu is a submenu of another menu or not.\n   */\n  isSubMenu?: boolean;\n\n  /**\n   * DOM id to tag the ContextualMenu with, for reference.\n   * Should be used for 'aria-owns' and other such uses, rather than direct reference for programmatic purposes.\n   */\n  id?: string;\n\n  /**\n   * The beak width of the ContextualMenu beak.\n   * @default 16\n   */\n  beakWidth?: number;\n\n  /**\n   * Aria label for accessibility for the ContextualMenu.\n   * If none specified no aria label will be applied to the ContextualMenu.\n   */\n  ariaLabel?: string;\n\n}\n\nexport interface IContextualMenuItem {\n  /**\n   * Unique id to identify the item\n   */\n  key: string;\n\n  /**\n   * Text description for the menu item to display\n   */\n  name: string;\n\n  /**\n   * Icon to display next to the menu item\n   */\n  icon?: string;\n\n  /**\n   * Whether the menu item is disabled\n   * @defaultvalue false\n   */\n  isDisabled?: boolean;\n\n  /**\n   * [TODO] Not Yet Implemented\n   */\n  shortCut?: string;\n\n  /**\n   * Whether or not this menu item can be checked\n   * @defaultvalue false\n   */\n  canCheck?: boolean;\n\n  /**\n   * Whether or not this menu item is currently checked.\n   * @defaultvalue false\n   */\n  isChecked?: boolean;\n\n  /**\n   * Any custom data the developer wishes to associate with the menu item.\n   */\n  data?: any;\n\n  /**\n   * Callback issued when the menu item is invoked\n   */\n  onClick?: (ev?: React.MouseEvent<HTMLElement>, item?: IContextualMenuItem) => void;\n\n  /**\n   * An optional URL to navigate to upon selection\n   */\n  href?: string;\n\n  /**\n   * A collection of submenu items\n   */\n  items?: IContextualMenuItem[];\n\n  /**\n   * Additional css class to apply to the menu item\n   * @defaultvalue undefined\n   */\n  className?: string;\n\n  /**\n   * Optional accessibility label (aria-label) attribute that will be stamped on to the element.\n   * If none is specified, the arai-label attribute will contain the item name\n   */\n  ariaLabel?: string;\n\n  /**\n   * Optional title for displaying text when hovering over an item.\n   */\n  title?: string;\n\n  /**\n   * Method to custom render this menu item\n   * @defaultvalue undefined\n   */\n  onRender?: (item: any) => React.ReactNode;\n\n  /**\n   * A function to be executed onMouseDown. This is executed before an onClick event and can\n   * be used to interrupt native on click events as well. The click event should still handle\n   * the commands. This should only be used in special cases when react and non-react are mixed.\n   */\n  onMouseDown?: (item: IContextualMenuItem, event: any) => void;\n\n  /**\n   * Any additional properties to use when custom rendering menu items.\n   */\n  [propertyName: string]: any;\n}\n"; });