UNPKG

yy-menu

Version:

A traditional menu system for web apps inspired by Electron

121 lines (108 loc) 8.57 kB
const Config = { /** * application menu container styles * @type {object} */ ApplicationContainerStyle: { 'z-index': 999999, 'position': 'fixed', 'top': 0, 'left': 0, 'user-select': 'none', 'font-size': '0.85em' }, /** * application menu-bar styles * @type {object} */ ApplicationMenuStyle: { 'position': 'fixed', 'display': 'flex', 'flex-direction': 'row', 'color': 'black', 'backgroundColor': 'rgb(230,230,230)', 'width': '100vw', 'border': 'none', 'box-shadow': 'unset', 'outline': 'none' }, /** * application menu entry styles * @type {object} */ ApplicationMenuRowStyle: { 'padding': '0.25em 0.5em', 'margin': 0, 'line-height': '1em' }, /** * lower-level menu window styles * @type {object} */ MenuStyle: { 'flex-direction': 'column', 'position': 'fixed', 'user-select': 'none', 'color': 'black', 'z-index': 999999, 'backgroundColor': 'white', 'border': '1px solid rgba(0,0,0,0.5)', 'boxShadow': '1px 3px 3px rgba(0,0,0,0.25)' }, /** * lower-level menu row styles * @type {object} */ RowStyle: { 'display': 'flex', 'padding': '0.25em 1.5em 0.25em', 'line-height': '1.5em' }, /** * lower-level menu accelerator styles * @type {object} */ AcceleratorStyle: { 'opacity': 0.5 }, /** * lower-level menu separator styles * @type {object} */ SeparatorStyle: { 'border-bottom': '1px solid rgba(0,0,0,0.1)', 'margin': '0.5em 0' }, /** * accelerator key styles * NOTE: accelerator keys must use text-decoration as its used as a toggle in the code * @type {object} */ AcceleratorKeyStyle: { 'text-decoration': 'underline', 'text-decoration-color': 'rgba(0,0,0,0.5)' }, /** * minimum column width in pixels for checked and arrow in the lower-level menus * @type {number} */ MinimumColumnWidth: 20, /** * CSS background style for selected MenuItems * NOTE: unselected have 'transparent' style * @type {string} */ SelectedBackgroundStyle: 'rgba(0,0,0,0.1)', /** * number of pixels to overlap child menus * @type {number} */ Overlap: 5, /** * time in milliseconds to wait for submenu to open when mouse hovers * @param {number} */ SubmenuOpenDelay: 500 }; module.exports = Config; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWcuanMiXSwibmFtZXMiOlsiQ29uZmlnIiwiQXBwbGljYXRpb25Db250YWluZXJTdHlsZSIsIkFwcGxpY2F0aW9uTWVudVN0eWxlIiwiQXBwbGljYXRpb25NZW51Um93U3R5bGUiLCJNZW51U3R5bGUiLCJSb3dTdHlsZSIsIkFjY2VsZXJhdG9yU3R5bGUiLCJTZXBhcmF0b3JTdHlsZSIsIkFjY2VsZXJhdG9yS2V5U3R5bGUiLCJNaW5pbXVtQ29sdW1uV2lkdGgiLCJTZWxlY3RlZEJhY2tncm91bmRTdHlsZSIsIk92ZXJsYXAiLCJTdWJtZW51T3BlbkRlbGF5IiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsU0FBUzs7QUFFWDs7OztBQUlBQywrQkFBMkI7QUFDdkIsbUJBQVcsTUFEWTtBQUV2QixvQkFBWSxPQUZXO0FBR3ZCLGVBQU8sQ0FIZ0I7QUFJdkIsZ0JBQVEsQ0FKZTtBQUt2Qix1QkFBZSxNQUxRO0FBTXZCLHFCQUFhO0FBTlUsS0FOaEI7O0FBZVg7Ozs7QUFJQUMsMEJBQXNCO0FBQ2xCLG9CQUFZLE9BRE07QUFFbEIsbUJBQVcsTUFGTztBQUdsQiwwQkFBa0IsS0FIQTtBQUlsQixpQkFBUyxPQUpTO0FBS2xCLDJCQUFtQixrQkFMRDtBQU1sQixpQkFBUyxPQU5TO0FBT2xCLGtCQUFVLE1BUFE7QUFRbEIsc0JBQWMsT0FSSTtBQVNsQixtQkFBVztBQVRPLEtBbkJYOztBQStCWDs7OztBQUlBQyw2QkFBeUI7QUFDckIsbUJBQVcsY0FEVTtBQUVyQixrQkFBVSxDQUZXO0FBR3JCLHVCQUFlO0FBSE0sS0FuQ2Q7O0FBeUNYOzs7O0FBSUFDLGVBQVc7QUFDUCwwQkFBa0IsUUFEWDtBQUVQLG9CQUFZLE9BRkw7QUFHUCx1QkFBZSxNQUhSO0FBSVAsaUJBQVMsT0FKRjtBQUtQLG1CQUFXLE1BTEo7QUFNUCwyQkFBbUIsT0FOWjtBQU9QLGtCQUFVLDJCQVBIO0FBUVAscUJBQWE7QUFSTixLQTdDQTs7QUF3RFg7Ozs7QUFJQUMsY0FBVTtBQUNOLG1CQUFXLE1BREw7QUFFTixtQkFBVyxxQkFGTDtBQUdOLHVCQUFlO0FBSFQsS0E1REM7O0FBa0VYOzs7O0FBSUFDLHNCQUFrQjtBQUNkLG1CQUFXO0FBREcsS0F0RVA7O0FBMEVYOzs7O0FBSUFDLG9CQUFnQjtBQUNaLHlCQUFpQiwyQkFETDtBQUVaLGtCQUFVO0FBRkUsS0E5RUw7O0FBbUZYOzs7OztBQUtBQyx5QkFBcUI7QUFDakIsMkJBQW1CLFdBREY7QUFFakIsaUNBQXlCO0FBRlIsS0F4RlY7O0FBNkZYOzs7O0FBSUFDLHdCQUFvQixFQWpHVDs7QUFtR1g7Ozs7O0FBS0FDLDZCQUF5QixpQkF4R2Q7O0FBMEdYOzs7O0FBSUFDLGFBQVMsQ0E5R0U7O0FBZ0hYOzs7O0FBSUFDLHNCQUFrQjtBQXBIUCxDQUFmOztBQXVIQUMsT0FBT0MsT0FBUCxHQUFpQmQsTUFBakIiLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ29uZmlnID0ge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogYXBwbGljYXRpb24gbWVudSBjb250YWluZXIgc3R5bGVzXHJcbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxyXG4gICAgICovXHJcbiAgICBBcHBsaWNhdGlvbkNvbnRhaW5lclN0eWxlOiB7XHJcbiAgICAgICAgJ3otaW5kZXgnOiA5OTk5OTksXHJcbiAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAndG9wJzogMCxcclxuICAgICAgICAnbGVmdCc6IDAsXHJcbiAgICAgICAgJ3VzZXItc2VsZWN0JzogJ25vbmUnLFxyXG4gICAgICAgICdmb250LXNpemUnOiAnMC44NWVtJ1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFwcGxpY2F0aW9uIG1lbnUtYmFyIHN0eWxlc1xyXG4gICAgICogQHR5cGUge29iamVjdH1cclxuICAgICAqL1xyXG4gICAgQXBwbGljYXRpb25NZW51U3R5bGU6IHtcclxuICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICdkaXNwbGF5JzogJ2ZsZXgnLFxyXG4gICAgICAgICdmbGV4LWRpcmVjdGlvbic6ICdyb3cnLFxyXG4gICAgICAgICdjb2xvcic6ICdibGFjaycsXHJcbiAgICAgICAgJ2JhY2tncm91bmRDb2xvcic6ICdyZ2IoMjMwLDIzMCwyMzApJyxcclxuICAgICAgICAnd2lkdGgnOiAnMTAwdncnLFxyXG4gICAgICAgICdib3JkZXInOiAnbm9uZScsXHJcbiAgICAgICAgJ2JveC1zaGFkb3cnOiAndW5zZXQnLFxyXG4gICAgICAgICdvdXRsaW5lJzogJ25vbmUnXHJcbiAgICB9LFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogYXBwbGljYXRpb24gbWVudSBlbnRyeSBzdHlsZXNcclxuICAgICAqIEB0eXBlIHtvYmplY3R9XHJcbiAgICAgKi9cclxuICAgIEFwcGxpY2F0aW9uTWVudVJvd1N0eWxlOiB7XHJcbiAgICAgICAgJ3BhZGRpbmcnOiAnMC4yNWVtIDAuNWVtJyxcclxuICAgICAgICAnbWFyZ2luJzogMCxcclxuICAgICAgICAnbGluZS1oZWlnaHQnOiAnMWVtJ1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIGxvd2VyLWxldmVsIG1lbnUgd2luZG93IHN0eWxlc1xyXG4gICAgICogQHR5cGUge29iamVjdH1cclxuICAgICAqL1xyXG4gICAgTWVudVN0eWxlOiB7XHJcbiAgICAgICAgJ2ZsZXgtZGlyZWN0aW9uJzogJ2NvbHVtbicsXHJcbiAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAndXNlci1zZWxlY3QnOiAnbm9uZScsXHJcbiAgICAgICAgJ2NvbG9yJzogJ2JsYWNrJyxcclxuICAgICAgICAnei1pbmRleCc6IDk5OTk5OSxcclxuICAgICAgICAnYmFja2dyb3VuZENvbG9yJzogJ3doaXRlJyxcclxuICAgICAgICAnYm9yZGVyJzogJzFweCBzb2xpZCByZ2JhKDAsMCwwLDAuNSknLFxyXG4gICAgICAgICdib3hTaGFkb3cnOiAnMXB4IDNweCAzcHggcmdiYSgwLDAsMCwwLjI1KSdcclxuICAgIH0sXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBsb3dlci1sZXZlbCBtZW51IHJvdyBzdHlsZXNcclxuICAgICAqIEB0eXBlIHtvYmplY3R9XHJcbiAgICAgKi9cclxuICAgIFJvd1N0eWxlOiB7XHJcbiAgICAgICAgJ2Rpc3BsYXknOiAnZmxleCcsXHJcbiAgICAgICAgJ3BhZGRpbmcnOiAnMC4yNWVtIDEuNWVtIDAuMjVlbScsXHJcbiAgICAgICAgJ2xpbmUtaGVpZ2h0JzogJzEuNWVtJ1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIGxvd2VyLWxldmVsIG1lbnUgYWNjZWxlcmF0b3Igc3R5bGVzXHJcbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxyXG4gICAgICovXHJcbiAgICBBY2NlbGVyYXRvclN0eWxlOiB7XHJcbiAgICAgICAgJ29wYWNpdHknOiAwLjVcclxuICAgIH0sXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBsb3dlci1sZXZlbCBtZW51IHNlcGFyYXRvciBzdHlsZXNcclxuICAgICAqIEB0eXBlIHtvYmplY3R9XHJcbiAgICAgKi9cclxuICAgIFNlcGFyYXRvclN0eWxlOiB7XHJcbiAgICAgICAgJ2JvcmRlci1ib3R0b20nOiAnMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKScsXHJcbiAgICAgICAgJ21hcmdpbic6ICcwLjVlbSAwJ1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIGFjY2VsZXJhdG9yIGtleSBzdHlsZXNcclxuICAgICAqIE5PVEU6IGFjY2VsZXJhdG9yIGtleXMgbXVzdCB1c2UgdGV4dC1kZWNvcmF0aW9uIGFzIGl0cyB1c2VkIGFzIGEgdG9nZ2xlIGluIHRoZSBjb2RlXHJcbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxyXG4gICAgICovXHJcbiAgICBBY2NlbGVyYXRvcktleVN0eWxlOiB7XHJcbiAgICAgICAgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLFxyXG4gICAgICAgICd0ZXh0LWRlY29yYXRpb24tY29sb3InOiAncmdiYSgwLDAsMCwwLjUpJ1xyXG4gICAgfSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIG1pbmltdW0gY29sdW1uIHdpZHRoIGluIHBpeGVscyBmb3IgY2hlY2tlZCBhbmQgYXJyb3cgaW4gdGhlIGxvd2VyLWxldmVsIG1lbnVzXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICovXHJcbiAgICBNaW5pbXVtQ29sdW1uV2lkdGg6IDIwLFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ1NTIGJhY2tncm91bmQgc3R5bGUgZm9yIHNlbGVjdGVkIE1lbnVJdGVtc1xyXG4gICAgICogTk9URTogdW5zZWxlY3RlZCBoYXZlICd0cmFuc3BhcmVudCcgc3R5bGVcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIFNlbGVjdGVkQmFja2dyb3VuZFN0eWxlOiAncmdiYSgwLDAsMCwwLjEpJyxcclxuXHJcbiAgICAvKipcclxuICAgICAqIG51bWJlciBvZiBwaXhlbHMgdG8gb3ZlcmxhcCBjaGlsZCBtZW51c1xyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqL1xyXG4gICAgT3ZlcmxhcDogNSxcclxuXHJcbiAgICAvKipcclxuICAgICAqIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHN1Ym1lbnUgdG8gb3BlbiB3aGVuIG1vdXNlIGhvdmVyc1xyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9XHJcbiAgICAgKi9cclxuICAgIFN1Ym1lbnVPcGVuRGVsYXk6IDUwMFxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IENvbmZpZyJdfQ==