@szhsin/react-menu
Version:
React component for building accessible menu, dropdown, submenu, context menu, and more
90 lines (86 loc) • 2.67 kB
JavaScript
'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;