UNPKG

@szhsin/react-menu

Version:

React component for building accessible menu, dropdown, submenu, context menu, and more

90 lines (86 loc) 2.67 kB
'use strict'; var react = require('react'); const menuContainerClass = 'szh-menu-container'; const menuClass = 'szh-menu'; const menuButtonClass = 'szh-menu-button'; const menuArrowClass = 'arrow'; const menuItemClass = 'item'; const menuDividerClass = 'divider'; const menuHeaderClass = 'header'; const menuGroupClass = 'group'; const subMenuClass = 'submenu'; const radioGroupClass = 'radio-group'; const HoverItemContext = /*#__PURE__*/react.createContext(); const MenuListItemContext = /*#__PURE__*/react.createContext({}); const MenuListContext = /*#__PURE__*/react.createContext({}); const EventHandlersContext = /*#__PURE__*/react.createContext({}); const RadioGroupContext = /*#__PURE__*/react.createContext({}); const SettingsContext = /*#__PURE__*/react.createContext({}); const Keys = /*#__PURE__*/Object.freeze({ ENTER: 'Enter', ESC: 'Escape', SPACE: ' ', HOME: 'Home', END: 'End', LEFT: 'ArrowLeft', RIGHT: 'ArrowRight', UP: 'ArrowUp', DOWN: 'ArrowDown' }); const HoverActionTypes = /*#__PURE__*/Object.freeze({ RESET: 0, SET: 1, UNSET: 2, INCREASE: 3, DECREASE: 4, FIRST: 5, LAST: 6, SET_INDEX: 7 }); const CloseReason = /*#__PURE__*/Object.freeze({ CLICK: 'click', CANCEL: 'cancel', BLUR: 'blur', SCROLL: 'scroll' }); const FocusPositions = /*#__PURE__*/Object.freeze({ FIRST: 'first', LAST: 'last' }); const MenuStateMap = /*#__PURE__*/Object.freeze({ entering: 'opening', entered: 'open', exiting: 'closing', exited: 'closed' }); const positionAbsolute = 'absolute'; const roleNone = 'none'; const roleMenuitem = 'menuitem'; const noScrollFocus = { preventScroll: true }; exports.CloseReason = CloseReason; exports.EventHandlersContext = EventHandlersContext; exports.FocusPositions = FocusPositions; exports.HoverActionTypes = HoverActionTypes; exports.HoverItemContext = HoverItemContext; exports.Keys = Keys; exports.MenuListContext = MenuListContext; exports.MenuListItemContext = MenuListItemContext; exports.MenuStateMap = MenuStateMap; exports.RadioGroupContext = RadioGroupContext; exports.SettingsContext = SettingsContext; exports.menuArrowClass = menuArrowClass; exports.menuButtonClass = menuButtonClass; exports.menuClass = menuClass; exports.menuContainerClass = menuContainerClass; exports.menuDividerClass = menuDividerClass; exports.menuGroupClass = menuGroupClass; exports.menuHeaderClass = menuHeaderClass; exports.menuItemClass = menuItemClass; exports.noScrollFocus = noScrollFocus; exports.positionAbsolute = positionAbsolute; exports.radioGroupClass = radioGroupClass; exports.roleMenuitem = roleMenuitem; exports.roleNone = roleNone; exports.subMenuClass = subMenuClass;