[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[**]\ncharset = utf-8\nend_of_line = lf\nindent_size = 4\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\nnode_modules/\nbower_components/\n\n### Node template\n# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directory\n# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git\nnode_modules\n### JetBrains template\n# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio\n\n*.iml\n\n## Directory-based project format:\n.idea/\n# if you remove the above rule, at least ignore the following:\n\n# User-specific stuff:\n# .idea/workspace.xml\n# .idea/tasks.xml\n# .idea/dictionaries\n\n# Sensitive or high-churn files:\n# .idea/dataSources.ids\n# .idea/dataSources.xml\n# .idea/sqlDataSources.xml\n# .idea/dynamic.xml\n# .idea/uiDesigner.xml\n\n# Gradle:\n# .idea/gradle.xml\n# .idea/libraries\n\n# Mongo Explorer plugin:\n# .idea/mongoSettings.xml\n\n## File-based project format:\n*.ipr\n*.iws\n\n## Plugin-specific files:\n\n# IntelliJ\n/out/\n\n# mpeltonen/sbt-idea plugin\n.idea_modules/\n\n# JIRA plugin\natlassian-ide-plugin.xml\n\n# Crashlytics plugin (for Android Studio and IntelliJ)\ncom_crashlytics_export_strings.xml\ncrashlytics.properties\ncrashlytics-build.properties\n\n"
  },
  {
    "path": ".jscsrc",
    "content": "{\n  \"requireCurlyBraces\": [\n    \"if\",\n    \"else\",\n    \"for\",\n    \"while\",\n    \"do\",\n    \"try\",\n    \"catch\"\n  ],\n  \"requireOperatorBeforeLineBreak\": true,\n  \"requireParenthesesAroundIIFE\": true,\n  \"requireCommaBeforeLineBreak\": true,\n  \"requireCamelCaseOrUpperCaseIdentifiers\": true,\n  \"requireDotNotation\": true,\n  \"requireSpacesInForStatement\": true,\n  \"requireSpaceBetweenArguments\": true,\n  \"maximumLineLength\": {\n    \"value\": 100,\n    \"tabSize\": 4,\n    \"allExcept\": [\"urlComments\", \"regex\"]\n  },\n  \"validateQuoteMarks\": { \"mark\": \"\\\"\", \"escape\": true },\n\n  \"disallowMixedSpacesAndTabs\": \"smart\",\n  \"disallowTrailingWhitespace\": true,\n  \"disallowMultipleLineStrings\": true,\n  \"disallowTrailingComma\": true,\n  \"disallowSpaceBeforeComma\": true,\n  \"requireSpaceAfterComma\": true,\n\n  \"requireSpaceBeforeBlockStatements\": true,\n  \"requireSpacesInFunctionExpression\": {\n    \"beforeOpeningCurlyBrace\": true\n  },\n  \"requireSpaceAfterKeywords\": [\n    \"if\",\n    \"else\",\n    \"for\",\n    \"while\",\n    \"do\",\n    \"switch\",\n    \"return\",\n    \"try\",\n    \"catch\"\n  ],\n  \"requireSpacesInsideObjectBrackets\": \"all\",\n  \"requireSemicolons\": true,\n  \"requireSpaceAfterBinaryOperators\": true,\n  \"requireLineFeedAtFileEnd\": true,\n  \"requireSpaceBeforeBinaryOperators\": [\n    \"=\", \"+=\", \"-=\", \"*=\", \"/=\", \"%=\", \"<<=\", \">>=\", \">>>=\",\n    \"&=\", \"|=\", \"^=\", \"+=\",\n\n    \"+\", \"-\", \"*\", \"/\", \"%\", \"<<\", \">>\", \">>>\", \"&\",\n    \"|\", \"^\", \"&&\", \"||\", \"===\", \"==\", \">=\",\n    \"<=\", \"<\", \">\", \"!=\", \"!==\"\n  ],\n  \"requireSpacesInAnonymousFunctionExpression\": {\n    \"beforeOpeningCurlyBrace\": true\n  },\n  \"requireSpacesInNamedFunctionExpression\": {\n    \"beforeOpeningCurlyBrace\": true\n  },\n  \"requirePaddingNewLinesBeforeLineComments\": true,\n  \"validateLineBreaks\": \"LF\",\n\n  \"disallowKeywords\": [ \"with\" ],\n  \"disallowKeywordsOnNewLine\": [ \"else\" ],\n  \"disallowSpacesInFunctionExpression\": {\n    \"beforeOpeningRoundBrace\": true\n  },\n  \"disallowSpacesInNamedFunctionExpression\": {\n    \"beforeOpeningRoundBrace\": true\n  },\n  \"disallowSpacesInAnonymousFunctionExpression\": {\n    \"beforeOpeningRoundBrace\": true\n  },\n  \"disallowSpacesInCallExpression\": true,\n  \"disallowSpaceAfterObjectKeys\": true,\n  \"disallowSpaceAfterPrefixUnaryOperators\": true,\n  \"disallowSpaceBeforePostfixUnaryOperators\": true,\n  \"disallowSpaceBeforeBinaryOperators\": [ \",\" ],\n  \"disallowMultipleLineBreaks\": true\n}\n"
  },
  {
    "path": ".sauce.yml",
    "content": "---\n  language: \"javascript\"\n  framework: \"webdriverio\"\n  configPath: \"wdio.conf.js\""
  },
  {
    "path": ".travis.yml",
    "content": "sudo: false\n\ncache:\n  directories:\n    - node_modules\n\nenv:\n  global:\n    - GIT_NAME: \"'Couscous auto deploy'\"\n    - GIT_EMAIL: couscous@couscous.io\n    - GH_REF: github.com/swisnl/jQuery-contextMenu\n    - SAUCE_USERNAME: \"bbrala-contextmenu\"\n    # GH_TOKEN\n    - secure: gWIh9j5sUgVn9DmVDYnmS4OT2GhHmsndLTPKRLgAF8LM4sa65SkSCNB4Xu5drcb1a6e4egOe0bXNgXSl70ApBoQIxPvjvWxLBCjPQBPD6kJjo2ovOsfxLARMSGAqlGN7hiocLi+s8qa7RP3uuJ373z+Ge+bLIV6vFxEjK9U3Iz4=\n    # SAUCE_ACCESS_KEY\n    - secure: UOse3txRLxLQKsPVQf6OKZZP3c0nLaPJ+4G2vR/qJqBXCTTCQ84+9qx9ih/40FDFcjVXwabJsdn0EhkqDw4h50OGdc58V1UfSbk7g1RiuvvRakOPTK0J9h7bEkBPb7QQXCvAVfOZ81DN6l5lMjmH1tiC2T/h/MNOLHPXsbzXElg=\n\nmatrix:\n  include:\n    - language: node_js\n      node_js: \"10\"\n      env: JQUERY=1\n    - language: node_js\n      node_js: \"10\"\n      env: JQUERY=2\n    - language: node_js\n      node_js: \"10\"\n      env: JQUERY=3\n    - language: php\n      php: 7.4\n      env: DOCUMENTATION=1\n  allow_failures:\n    - env: DOCUMENTATION=1\n\n\ninstall:\n- if [ \"$JQUERY\" ] ; then yarn add jquery@$JQUERY ; fi\n- if [ \"$DOCUMENTATION\" ] ; then cd documentation && composer global require couscous/couscous ; fi\n\nscript:\n- if [ \"$JQUERY\" ] ; then yarn run test ; else /home/travis/.config/composer/vendor/bin/couscous travis-auto-deploy --php-version=7.4 ; fi\n- if [ \"$JQUERY\" ] && [ \"$SAUCE_USERNAME\" ] ; then yarn run test-sauce ; fi\n\ndeploy:\n  provider: npm\n  email: bjorn@swis.nl\n  api_key:\n    secure: YvSWphr8aTtwhvzO99jAVl4KoGHFEwwYVf1R7mklO3ZvU4yM1AYQ7m/gwpgkO3vBl0U6C1ixoE5VZzZHHDx3U1UAWeKktVdTvCp3uBDlnRVJdPIQ2gR5hT8X6j6LLTBc1iN/gaf5rT8xTeeeJp/M9gK6f757k88ZLm1DP/mdU3w=\n  on:\n    tags: true\n    repo: swisnl/jQuery-contextMenu\n    branch: master\n    condition: $JQUERY = 3\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "## Changelog ##\n\n### Unreleased\n\n* Context menu no longer jumps to the top of the screen #749\n\n### 2.9.2\n\n* Fix reflow when adding click layer to page (fixed #721, thanks @Rhain)\n\n### 2.9.1\n\n* Fix error when closing the menu by clicking on the page without any element under that click point. (fixes #717)\n* Upgrades dependencies\n\n### 2.9.0\n\n#### Added\n\n* Added `dataAttr` option to add arbitrary data attributes to menu items.\n\n#### Changed\n\n* Updated dev dependencies.\n\n### 2.8.1\n\n#### Fixed\n\n* Added FontAwesome `fab` class to known classes.\n\n#### Documentation\n\n* Updated documentation for `callback` (thanks @arashdalir)\n\n\n### 2.8.0\n\n#### Added\n\n* Added support for `events.preShow` so you can enable default browser menu if needed (thanks @terwarf)\n\n### 2.7.1\n\n#### Fixed\n\n* A context menu appears outside the screen Under certain conditions (thanks @so-susa)\n* No font-awesome icons visible in submenu ([Issue #659](https://github.com/swisnl/jQuery-contextMenu/issues/659)) thanks @betafritz and @klues\n\n### 2.7.0\n\n#### Documentation\n\n* Add `getting started` to the documentation.\n* Fixed typo in documentation which breaks the `callback` demo.\n* Fixed typo `promis` => `promise` ([Issue #633](https://github.com/swisnl/jQuery-contextMenu/issues/633)).\n* Fixed arguments for callback option in documentation ([Issue #571](https://github.com/swisnl/jQuery-contextMenu/issues/571)).\n\n\n#### Added\n\n* Added support for Font Awesome 5 ([Issue #593](https://github.com/swisnl/jQuery-contextMenu/issues/593)), ([Issue #593](https://github.com/swisnl/jQuery-contextMenu/issues/593))\n\n### 2.6.4\n\n#### Fixed\n\n* `events.activated` is called without `options`as argument ([Issue #580](https://github.com/swisnl/jQuery-contextMenu/issues/580)).\n* LayerClick sometimes breaks when the source is not a mouseevent ([Issue #132](https://github.com/swisnl/jQuery-contextMenu/issues/132)).\n* The contextmenu now checks `visible` on items once instead of twice. Fixes [issue 612](https://github.com/swisnl/jQuery-contextMenu/issues/612).\n* Font awesome li height is now consistent again ([Issue #610](https://github.com/swisnl/jQuery-contextMenu/issues/610)).\n\n\n### 2.6.3\n\n#### Fixed\n\n* Broke build script after 2.5.0 which ment no updates to dist folder ([Issue #578](https://github.com/swisnl/jQuery-contextMenu/issues/578)).\n\n### 2.6.2\n\n#### Fixed\n\n* Dev dependency ended up in normal dependencies.\n\n### 2.6.1\n\n#### Added\n\n* Ability to define touchstart as trigger (thanks @npuser)\n* Extra event `activated` that triggers after the menu is activated (thanks @AliShahrivarian)\n* Flag denoting if a second trigger should close the menu (thanks @OliverColeman)\n* Added update call to update visibility, disabled, icon and form value stats for items. Fixes issue ([Issue #555](https://github.com/swisnl/jQuery-contextMenu/issues/555)).\n\n```javascript\n    $('.context-menu-one').contextMenu('update'); // update single menu\n    $.contextMenu('update') // update all open menus\n```\n\n#### Fixed\n\n* Fix for out of bounds problem on window edges (thanks @AliShahrivarian)\n\n### 2.5.0\n\n#### Added\n\n* Callback function now supplies original event ([Issue #211](https://github.com/swisnl/jQuery-contextMenu/issues/211)) thanks @wizzard0\n\n### 2.4.5\n\n#### Fixed\n\n* ContextMenu appears with wrong position ([Issue #502](https://github.com/swisnl/jQuery-contextMenu/issues/502) thanks @apptaro\n* Check if given selected value is a 0, if it is a zero so return it as is. Thanks @Falseee\n* Events are never trigger when opening a contextMenu right after the other ([Issue #454](https://github.com/swisnl/jQuery-contextMenu/issues/454) thanks @kagant15\n* Accesskey jQuery Modal Dialog not working ([Issue #506](https://github.com/swisnl/jQuery-contextMenu/issues/506) thanks @CiTRO33\n* Fix submenu hover not always staying active if hovering over a submenu item. ([Issue #523](https://github.com/swisnl/jQuery-contextMenu/issues/523) thanks @tim-nz\n* Change $node.click() to $node.get(0).click() to allow native event in HTML5 ([Issue #517](https://github.com/swisnl/jQuery-contextMenu/issues/517)\n\n### 2.4.4\n\n#### Fixed\n\n* trigger is sometimes called on undefined objects because of typecheck on null. thanks @andreasrosdal\n\n### 2.4.3\n\n#### Changed\n\n* The inline style causes a Content Security Policy violation if style-src 'unsafe-inline' is not defined in the policy. [PR 498](https://github.com/swisnl/jQuery-contextMenu/pull/498) thanks @StealthDuck\n\n* Removed GPL license from the comment in the plugin. Was already removed everywhere else. Only MIT applies now.\n\n#### Added\n\n* Added SauceLabs tests for common browsers.\n\n### 2.4.2 ###\n\n### Fixed\n\n* Focus not set on content editable element when right clicking the second time ([Issue #482](https://github.com/swisnl/jQuery-contextMenu/issues/482))\n\n* `selectableSubMenu` broke disabling click menu (fixes ([Issue #493](https://github.com/swisnl/jQuery-contextMenu/issues/493))\n\n### 2.4.1 ###\n\n#### Fixed\n\n* Quick fix for error in visible check ([Issue #484](https://github.com/swisnl/jQuery-contextMenu/issues/484))\n\n#### Updated\n\n* Tweaked positioning of submenu ([Issue #387](https://github.com/swisnl/jQuery-contextMenu/issues/387))\n\n### 2.4.0 ###\n\n#### Added\n\n* Selectable Sub Menus ([Issue #483](https://github.com/swisnl/jQuery-contextMenu/issues/483)) thanks @zyuhel\n\n#### Fixed\n\n* The contextmenu shows even if all items are set to visible:false ([Issue #473](https://github.com/swisnlhttps://github.com/swisnl/jQuery-contextMenu/issues/482/jQuery-contextMenu/issues/473))\n\n#### Documentation\n\n* Update documentation to include demo for async promise fixes ([Issue #470](https://github.com/swisnl/jQuery-contextMenu/issues/470))\n\n### 2.3.0 ###\n\n#### Added\n\n* Asynchronous promise support for submenu's ([Issue #429](https://github.com/swisnl/jQuery-contextMenu/issues/429)) thanks @Ruud-cb for the hard work.\n* Include dist and src in package.json to easily use SCSS files ([PR #467](https://github.com/swisnl/jQuery-contextMenu/pull/467))  thanks @RoachMech\n\n\n#### Fixed\n\n* Font family when using font awesome ([Issue #433](https://github.com/swisnl/jQuery-contextMenu/issues/433))\n* Add check for `opt.$menu` is null when handling callbacks. ([Issue #462](https://github.com/swisnl/jQuery-contextMenu/issues/462)) thanks @andreasrosdal\n\n#### Changed\n\n* Make `<input>` and `<select>` tags xhtml compatible ([Issue #451](https://github.com/swisnl/jQuery-contextMenu/issues/451)) thanks @andreasplesch\n* Update jQuery UI position to 1.12.1\n\n#### Documentation\n\n* Fix demo for custom-command. ([Issue #294](https://github.com/swisnl/jQuery-contextMenu/issues/294))\n* Fix broken link and demo title ([Issue #458](https://github.com/swisnl/jQuery-contextMenu/issues/458))\n\n### 2.2.4 ###\n\n#### Fixed\n\n* Error on try to recreate menu after destroy ([Issue #397](https://github.com/swisnl/jQuery-contextMenu/issues/397))\n\n\n### 2.2.3 ###\n\n#### Fixed\n\n* Callbacks are now called from the scope of the menu the item is in (like a submenu). For now they overwrite root callbacks only if the item is not in a submenu, this so the callbacks are always correct. Unfortunately this will also mean the callbacks option is still not complete if you use the same key for an item in any place. Cant fix that easily. Issue #413.\n\n### 2.2.1 ###\n\n#### Added\n\n* Alias for 'cm_seperator' type: 'cm_separator' (thanks @nelson6e65)\n\n#### Changed\n\n* Removed old integration tests, framework on which they were built is abandoned.\n* Enable jQuery 3 tests in TravisCI\n\n#### Fixed\n\n* jQuery 3 support was fixed again, was a result of jQuery UI (Fixes #407)\n* Add checks for null before using opt.$menu and root.$menu. Fixes #352 (thanks @andreasrosdal)\n* Small fix for color or ``input`` option on hover\n\n#### Documentation\n\n* Documentation added for cm_seperator (thanks @nelson6e65)\n* Fix typo in items options documentation (thanks @nelson6e65)\n* Fix typo in animation: fadeOut (thanks @avi-meslati-sp)\n* Fix typo in docs code: `show` is used twice (thanks @kgeorgiou)\n* Fix in async documentation.\n\n### 2.2.0 ###\n\n#### Added\n* Add option to show item title as HTML (thanks @brassard)\n* Full Font Awesome support\n\n#### Changed\n* Use relative units for css fixes ([Issue #386](https://github.com/swisnl/jQuery-contextMenu/issues/386)) (thanks @RoachMech)\n* Change unicode characters in CSS to readable strings.\n* Improved item styles (thanks @anseki)\n\n#### Fixed\n* Force woff2 font creation for Windows some machines.\n* Fix so that disabled items can't get focus anymore (thanks @anseki)\n* Fix so menu size is calculated better no items will take up 2 lines again (thanks @anseki)\n* Fix bower.json (thanks @nelson6e65)\n* Fix typo in documentation for \"position\" and \"build\" callback (thanks @mmcev106)\n\n### 2.1.1 ###\n\n* Fixed a problem when using the open function with custom arguments (thanks @RareDevil)\n* `width` is increased when repoening menu. Fixed by using outerwidth to calculate width. Fixes #360 (thanks @anseki)\n* Submenus are not collapsed when the menu is closed fixes #358 (thanks @anseki)\n* Small delay in checking for autohide to fix missing the menu by a pixel or two. Fixes #347 (thanks @Risord)\n* Check if an item is not hidden in any way when scrolling through items with the keyboard. Fixes #348\n* Change links and base url of documentation to https as mentioned by @OmgImAlexis in PR#345\n\n### 2.1.0 ###\n\n* Added support for providing a function as zIndex value in options object (thanks @eivindga)\n* Fixed a switch to use the correct type for separators (thanks @RareDevil)\n* Fixed the problem with submenus size wrongly ([Issue #308](https://github.com/swisnl/jQuery-contextMenu/issues/308)) (thanks @RareDevil)\n* Incorrect entry on package.json ([Issue #336](https://github.com/swisnl/jQuery-contextMenu/issues/336)) (thanks @Dijir)\n* Gray out disabled icons as well as text ([Issue #337](https://github.com/swisnl/jQuery-contextMenu/issues/337)) (thanks @r02b)\n* Optimized generated CSS so that ``context-menu-icon`` class can be used to overwrite icon CSS.\n* Positioning of contextmenu when using appendTo (thanks @mrMarco)\n* Check to see if target have a higher zIndex than the contextmenu in the key event handler (thanks @RareDevil)\n\n###  2.0.1 (December 3rd 2015) ###\n\n* Remove executable bit from jquery.contextMenu.js (thanks @jacknagel)\n* Fixed a problem there was when using a function for icons (thanks @RareDevil)\n* Fixed a problem where submenus resized wrong (thanks @RareDevil)\n* Fixed a problem where the contextmenu would open another menu (thanks @RareDevil) - ([Issue #252](https://github.com/swisnl/jQuery-contextMenu/issues/252) and [Issue #293](https://github.com/swisnl/jQuery-contextMenu/issues/293))\n* Fixed regression of node name's not being appended to the label of input elements. (thanks @RareDevil)\n* Add check that root.$layer exists, to prevent calling hide() on an defined object. (thanks @andreasrosdal)\n\n\n### 2.0.0 (October 28th 2015) ###\n\n* __This version changes the default names of the icon classes in order to stop CSS conflicts with frameworks which define the class 'icon'.__ In order to keep the icon names the same as before this change you can change the defaults on the classnames for the icons ([docs on classNames option](http://swisnl.github.io/jQuery-contextMenu/docs.html#options-classNames)). The classnames will probably be \"context-menu-icon-*\" as proposed earlier by @rodneyrehm.\n* You can not use SASS to customize your contextmenu. The gulp command build-icons takes all the SVG icons from src/icons and builds them into a font. In order to this we needed to break backwards compatibility. This does mean the new CSS does not have the old .icon class defined which makes it a lot more stable within CSS frameworks. The first revision of the documentation is found [here](documentation/docs/customize.md).\n* The 1.x branch will be maintained for a while with bugfixes. But support for 1.x will be dropped in the coming months.\n* Reverted the change from 1.7.0: .html() changed back to .text() since it is an security issue (thanks @arai-a)\n\n### 1.10.1 (October 25th 2015) ###\n\n* Added gulp command (integration-test-paths) to change the paths in the integration tests to the correct path after they are overwritten by the documentation generator.\n* Make sure the contextmenu is not outside the client area by (thanks to @arai-a)\n* Update jQuery dependecy so that it will not result in double installation of jQuery when using npm (thanks to @fredericlb)\n\n### 1.9.1 (October 11th 2015) ###\n\n* Fixed a bug where the classNames options would fail on a submenu.\n* New documentation site and generation using [couscous](https://github.com/CouscousPHP/Couscous)\n\n### 1.9.0 (October 1st 2015) ###\n\n* Make classes configurable for those that can easily conflict. See the [docs on classNames option](http://swisnl.github.io/jQuery-contextMenu/docs.html#options-classNames). This also prepares to change classnames to non conflicting defaults so the hassle with frameworks as bootstrap will stop.\n* Fix for handling of seperator string. It threw an error on the protected property of String.$node\n* Fix for opening the contextmenu at coordinate 0,0 (by [Andreme](https://github.com/andreme))\n* Fixed check for jQuery UI ([Issue #182](https://github.com/swisnl/jQuery-contextMenu/issues/182))\n* Updated doc for function argument for icon\n\n### 1.8.1 (September 14th 2015) ###\n\n* Updated readme.\n* Updated dist files\n\n### 1.8.0 (September 14th 2015) - dist files not updated! ###\n\n* Added dist folder with compiled JS and CSS, added these files to package and bower configuration.\n* Fixed doc link for jQuery UI position ([Issue #274](https://github.com/swisnl/jQuery-contextMenu/issues/274))\n* Item icon can now be a callback to dynamically decide on icon class. - ([Issue #158](https://github.com/swisnl/jQuery-contextMenu/issues/158), [Issue #129](https://github.com/swisnl/jQuery-contextMenu/issues/129), [Issue #151](https://github.com/swisnl/jQuery-contextMenu/issues/151), [Issue #249](https://github.com/swisnl/jQuery-contextMenu/issues/249))\n* Small fix to calculating width and height on screen edges when padding is present.\n\n### 1.7.0 (August 29th 2015) ###\n\n* Touch support optimisations (by kccarter76)\n* changed .text to .html so there are no extra span's fixed - ([Issue #252](https://github.com/swisnl/jQuery-contextMenu/issues/252))\n* added visibility callback to item definition\n* copy the HTML5 icon attribute when creating from HTML5 elements\n* growing menu when opening multiple times fixed - ([Issue #197](https://github.com/swisnl/jQuery-contextMenu/issues/197))\n* fixed failure to run tests\n\n### 1.6.8 (August 18th 2015) ###\n\n* changes for new maintainer\n\n### 1.6.7 (May 21st 2015) ###\n\n* looking for maintainer note\n* publish to npm\n\n### 1.6.6 (July 12th 2014) ###\n\n* fixing bower manifest\n\n### 1.6.5 (January 20th 2013) ###\n\n* fixing \"opening a second menu can break the layer\" - ([Issue #105](https://github.com/swisnl/jQuery-contextMenu/issues/105))\n\n### 1.6.4 (January 19th 2013) ###\n\n* fixing [jQuery plugin manifest](https://github.com/swisnl/jQuery-contextMenu/commit/413b1ecaba0aeb4e50f97cee35f7c367435e7830#commitcomment-2465216), again. yep. I'm that kind of a guy. :(\n\n### 1.6.3 (January 19th 2013) ###\n\n* fixing [jQuery plugin manifest](https://github.com/swisnl/jQuery-contextMenu/commit/413b1ecaba0aeb4e50f97cee35f7c367435e7830#commitcomment-2465216)\n\n### 1.6.2 (January 19th 2013) ###\n\n* fixing \"menu won't close\" regression introduced by 1.6.1\n\n### 1.6.1 (January 19th 2013) ###\n\n* fixing potential html parsing problem\n* upgrading to jQuery UI position v1.10.0\n* replaced `CRLF` by `LF` (no idea how this happened in the first place...)\n* adding `options.reposition` to dis/allow simply relocating a menu instead of rebuilding it ([Issue #104](https://github.com/swisnl/jQuery-contextMenu/issues/104))\n\n### 1.6.0 (December 29th 2012) ###\n\n* adding [DOM Element bound context menus](http://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html) - ([Issue 88](https://github.com/swisnl/jQuery-contextMenu/issues/88))\n* adding class `context-menu-active` to define state on active trigger element - ([Issue 92](https://github.com/swisnl/jQuery-contextMenu/issues/92))\n* adding [demo for TouchSwipe](http://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html) activation\n* adding export of internal functions and event handlers - ([Issue 101](https://github.com/swisnl/jQuery-contextMenu/issues/101))\n* fixing key \"watch\" might translate to Object.prototype.watch in callbacks map - ([Issue 93](https://github.com/swisnl/jQuery-contextMenu/issues/93))\n* fixing menu and submenu width calculation - ([Issue 18](https://github.com/swisnl/jQuery-contextMenu/issues/18))\n* fixing unused variables - ([Issue 100](https://github.com/swisnl/jQuery-contextMenu/issues/100))\n* fixing iOS \"click\" compatibility problem - ([Issue 83](https://github.com/swisnl/jQuery-contextMenu/issues/83))\n* fixing separators to not be clickable - ([Issue 85](https://github.com/swisnl/jQuery-contextMenu/issues/85))\n* fixing issues with fixed positioned triggers ([Issue 95](https://github.com/swisnl/jQuery-contextMenu/issues/95))\n* fixing word break problem - ([Issue 80](https://github.com/swisnl/jQuery-contextMenu/issues/80))\n\n### 1.5.25 (October 8th 2012) ###\n\n* upgrading to jQuery 1.8.2 ([Issue 78](https://github.com/swisnl/jQuery-contextMenu/issues/78))\n* upgrading to jQuery UI position 1.9.0 RC1 ([Issue 78](https://github.com/swisnl/jQuery-contextMenu/issues/78))\n\n### 1.5.24 (August 30th 2012) ###\n\n* adding context menu options to input command events ([Issue 72](https://github.com/swisnl/jQuery-contextMenu/issues/72), dtex)\n* code cosmetics for JSLint\n\n### 1.5.23 (August 22nd 2012) ###\n\n* fixing reposition/close issue on scrolled documents ([Issue 69](https://github.com/swisnl/jQuery-contextMenu/issues/69))\n* fixing jQuery reference ([Issue 68](https://github.com/swisnl/jQuery-contextMenu/issues/68))\n\n### 1.5.22 (July 16th 2012) ###\n\n* fixing issue with animation and remove on hide (Issue #64)\n\n### 1.5.21 (July 14th 2012) ###\n\n* fixing backdrop would not remove on destroy (Issue #63)\n\n### 1.5.20 (June 26th 2012) ###\n\nNote: git tag of version is `v1.6.20`?!\n\n* fixing backdrop would not position properly in IE6 (Issue #59)\n* fixing nested input elements not accessible in Chrome / Safari (Issue #58)\n\n### 1.5.19 ###\n\nNote: git tag of version is missing...?!\n\n* fixing sub-menu positioning when `$.ui.position` is not available (Issue #56)\n\n### 1.5.18 ###\n\nNote: git tag of version is missing...?!\n\n* fixing html5 `<menu>` import (Issue #53)\n\n### 1.5.17 (June 4th 2012) ###\n\n* fixing `options` to default to `options.trigger = \"right\"`\n* fixing variable name typo (Within Issue #51)\n* fixing menu not closing while opening other menu (Within Issue #51)\n* adding workaround for `contextmenu`-bug in Firefox 12 (Within Issue #51)\n\n### 1.5.16 (May 29th 2012) ###\n\n* added vendor-prefixed user-select to CSS\n* fixed issue with z-indexing when `<body>` is used as a trigger (Issue #49)\n\n### 1.5.15 (May 26th 2012) ###\n\n* allowing to directly open another element's menu while a menu is shown (Issue #48)\n* fixing autohide option that would not properly hide the menu\n\n### 1.5.14 (May 22nd 2012) ###\n\n* options.build() would break default options (Issue #47)\n* $.contextMenu('destroy') would not remove backdrop\n\n### 1.5.13 (May 4th 2012) ###\n\n* exposing $trigger to dynamically built custom menu-item types (Issue #42)\n* fixing repositioning of open menu (formerly accidental re-open)\n* adding asynchronous example\n* dropping ignoreRightClick in favor of proper event-type detection\n\n### 1.5.12 (May 2nd 2012) ###\n\n* prevent invoking callback of first item of a sub-menu when clicking on the sub-menu-item (Issue #41)\n\n### 1.5.11 (April 27th 2012) ###\n\n* providing `opt.$trigger` to show event (Issue #39)\n\n### 1.5.10 (April 21st 2012) ###\n\n* ignoreRightClick would not prevent right click when menu is already open (Issue #38)\n\n### 1.5.9 (March 10th 2012) ###\n\n* If build() did not return any items, an empty menu was shown (Issue #33)\n\n### 1.5.8 (January 28th 2012) ###\n\n* Capturing Page Up and Page Down keys to ignore like space (Issue #30)\n* Added Home / End keys to jump to first / last command of menu (Issue #29)\n* Bug hitting enter in an &lt;input&gt; would yield an error (Issue #28)\n\n### 1.5.7 (January 21st 2012) ###\n\n* Non-ASCII character in jquery.contextMenu.js caused compatibility issues in Rails (Issue #27)\n\n### 1.5.6 (January 8th 2012) ###\n\n* Bug contextmenu event was not passed to build() callback (Issue #24)\n* Bug sub-menu markers would not display properly in Safari and Chrome (Issue #25)\n\n### 1.5.5 (January 6th 2012) ###\n\n* Bug Internet Explorer would not close menu when giving input elements focus (Issue #23)\n\n### 1.5.4 (January 5th 2012) ##\n\n* Bug not set z-index of sub-menus might not overlap the main menu correctly (Issue #22)\n\n### 1.5.3 (January 1st 2012) ###\n\n* Bug `console.log is undefined`\n\n### 1.5.2 (December 25th 2012) ###\n\n* Bug sub-menus would not properly update their disabled states (Issue #16) [again…]\n* Bug sub-menus would not properly adjust width accoring to min-width and max-width (Issue #18)\n\n### 1.5.1 (December 18th 2011) ###\n\n* Bug sub-menus would not properly update their disabled states (Issue #16)\n\n### 1.5 (December 13th 2011) ###\n\n* Added [dynamic menu creation](http://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html) (Issue #15)\n\n### 1.4.4 (December 12th 2011) ###\n\n* Bug positioning &lt;menu&gt; when trigger element is `position:fixed` (Issue #14)\n\n### 1.4.3 (December 11th 2011) ###\n\n* Bug key handler would caputure all key strokes while menu was visible (essentially disabling F5 and co.)\n\n### 1.4.2 (December 6th 2011) ###\n\n* Bug opt.$trigger was not available to disabled callbacks\n* jQuery bumped to 1.7.1\n\n### 1.4.1 (November 9th 2011) ###\n\n* Bug where &lt;menu&gt; imports would not pass action (click event) properly\n\n### 1.4 (November 7th 2011) ###\n\n* Upgraded to jQuery 1.7 (changed dependecy!)\n* Added internal events `contextmenu:focus`, `contextmenu:blur` and `contextmenu:hide`\n* Added custom &lt;command&gt; types\n* Bug where `className` wasn't properly set on &lt;menu&gt;\n\n### 1.3 (September 5th 2011) ###\n\n* Added support for accesskeys\n* Bug where two sub-menus could be open simultaneously\n\n### 1.2.2 (August 24th 2011) ###\n\n* Bug in HTML5 import\n\n### 1.2.1 (August 24th 2011) ###\n\n* Bug in HTML5 detection\n\n### 1.2 (August 24th 2011) ###\n\n* Added compatibility to &lt;menuitem&gt; for Firefox 8\n* Upgraded to jQuery 1.6.2\n\n### 1.1 (August 11th 2011) ###\n\n* Bug #1 TypeError on HTML5 action passthru\n* Bug #2 disbaled callback not invoked properly\n* Feature #3 auto-hide option for hover trigger\n* Feature #4 option to use a single callback for all commands, rather than registering the same function for each item\n* Option to ignore right-click (original \"contextmenu\" event trigger) for non-right-click triggers\n\n### 1.0 (July 7th 2011) ###\n\n* Initial $.contextMenu handler\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License\n\nCopyright (c) 2010-2016 SWIS BV\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# jQuery contextMenu plugin & polyfill #\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/swisnl/jQuery-contextMenu.svg)](https://greenkeeper.io/)\n\n[![Travis](https://img.shields.io/travis/com/swisnl/jQuery-contextMenu/master.svg?style=flat-square&maxAge=600)](https://app.travis-ci.com/github/swisnl/jQuery-contextMenu) [![npm](https://img.shields.io/npm/v/jquery-contextmenu.svg?style=flat-square&maxAge=600)](https://www.npmjs.com/package/jquery-contextmenu) [![npm](https://img.shields.io/npm/dm/jquery-contextmenu.svg?style=flat-square&maxAge=600)](https://www.npmjs.com/package/jquery-contextmenu) [![CDNJS](https://img.shields.io/cdnjs/v/jquery-contextmenu.svg?style=flat-square&maxAge=600)](https://cdnjs.com/libraries/jquery-contextmenu) [![npm](https://img.shields.io/npm/l/jquery-contextmenu.svg?style=flat-square)]() [![Buy us a tree](https://img.shields.io/badge/Treeware-%F0%9F%8C%B3-lightgreen.svg?style=flat-square)](https://plant.treeware.earth/swisnl/jQuery-contextMenu)\n\n`$.contextMenu` is a management facility for - you guessed it - context menus. It was designed for an application where there are hundreds of elements that may show a context menu - so intialization speed and memory usage are kept fairly small. It also allows to register context menus without providing actual markup, as `$.contextMenu` generates DOMElements as needed.\n\n[features](http://swisnl.github.io/jQuery-contextMenu/index.html) -\n[demo](http://swisnl.github.io/jQuery-contextMenu/demo.html) -\n[documentation](http://swisnl.github.io/jQuery-contextMenu/docs.html)\n\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/bbrala-contextmenu.svg)](https://saucelabs.com/u/bbrala-contextmenu)\n\n## Dependencies ##\n\n* jQuery >=1.8.2\n* jQuery UI position (optional but recommended)\n\n\n## Usage ##\n\nregister contextMenu from javascript:\n\n```javascript\n$.contextMenu({\n    // define which elements trigger this menu\n    selector: \".with-cool-menu\",\n    // define the elements of the menu\n    items: {\n        foo: {name: \"Foo\", callback: function(key, opt){ alert(\"Foo!\"); }},\n        bar: {name: \"Bar\", callback: function(key, opt){ alert(\"Bar!\") }}\n    }\n    // there's more, have a look at the demos and docs...\n});\n```\n\nhave a look at the [demos](http://swisnl.github.io/jQuery-contextMenu/demo.html).\n\n## Version 3.0 beta\n\nVersion 3.0 is a restructure of the javascript into something more sane written in ES6. It consolidates all API's so callbacks are better documented and more concise. The basics are still the same, but all callbacks are structured differently.\n\nThe goal of this refactor was mostly to make the ContextMenu easier to maintain, and make the API's more consise. It also adds JSdoc comments so the API documentation is generated from the code and it enables code completion.\n\nCheck out the [3.x branch](https://github.com/swisnl/jQuery-contextMenu/tree/3.x), or install with `npm install jquery-contextmenu@next`.\n\n## HTML5 Compatibility ##\n\nFirefox 8 implemented contextmenu using the &lt;menuitem&gt; tags for menu-structure. The specs however state that &lt;command&gt; tags should be used for this purpose. $.contextMenu accepts both.\n\nFirefox 8 does not yet fully implement the contextmenu specification ([Ticket #617528](https://bugzilla.mozilla.org/show_bug.cgi?id=617528)). The elements\n[a](http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-a-element-to-define-a-command),\n[button](http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-button-element-to-define-a-command),\n[input](http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-input-element-to-define-a-command) and\n[option](http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-option-element-to-define-a-command)\nusable as commands are being ignored altogether. It also doesn't (optically) distinguish between checkbox/radio and regular commands ([Bug #705292](https://bugzilla.mozilla.org/show_bug.cgi?id=705292)).\n\n* [contextmenu specs](http://www.w3.org/TR/html5/interactive-elements.html#context-menus)\n* [command specs](http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html)\n* [Browser support according to caniuse.com](http://caniuse.com/#search=context%20menu)\n\nNote: While the specs note &lt;option&gt;s to be rendered as regular commands, $.contextMenu will render an actual &lt;select&gt;. import contextMenu from HTML5 &lt;menu&gt;:\n\n```javascript\n$.contextMenu(\"html5\");\n```\n\n## Interaction Principles\n\nYou're (obviously) able to use the context menu with your mouse. Once it is opened, you can also use the keyboard to (fully) navigate it.\n\n* ↑ (up) previous item in list, will skip disabled elements and wrap around\n* ↓ (down) next item in, will skip disabled elements and wrap around\n* → (right) dive into sub-menu\n* ← (left) rise from sub-menu\n* ↵ (return) invoke command\n* ⇥ (tab) next item or input element, will skip disabled elements and wrap around\n* ⇪ ⇥ (shift tab) previous item or input element, will skip disabled elements and wrap around\n* ⎋ (escape) close menu\n* ⌴ (space) captured and ignore to avoid page scrolling (for consistency with native menus)\n* ⇞ (page up) captured and ignore to avoid page scrolling (for consistency with native menus)\n* ⇟ (page down) captured and ignore to avoid page scrolling (for consistency with native menus)\n* ↖ (home) first item in list, will skip disabled elements\n* ↘ (end) last item in list, will skip disabled elements\n\nBesides the obvious, browser also react to alphanumeric key strokes. Hitting <code>r</code> in a context menu will make Firefox (8) reload the page immediately. Chrome selects the option to see infos on the page, Safari selects the option to print the document. Awesome, right? Until trying the same on Windows I did not realize that the browsers were using the access-key for this. I would've preferred typing the first character of something, say \"s\" for \"save\" and then iterate through all the commands beginning with s. But that's me - what do I know about UX? Anyways, $.contextMenu now also supports accesskey handling.\n\n\n## Authors\n\n* [Björn Brala](https://github.com/swisnl)\n* [Rodney Rehm](https://github.com/rodneyrehm) (original creator)\n* [Christiaan Baartse](https://github.com/christiaan) (single callback per menu)\n* [Addy Osmani](https://github.com/addyosmani) (compatibility with native context menu in Firefox 8)\n\n\n## License\n\n`$.contextMenu` is published under the [MIT license](http://www.opensource.org/licenses/mit-license)\n\nThis package is [Treeware](https://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/swisnl/jQuery-contextMenu) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.\n\n\n## Special thanks\n\nFont-Awesome icons used from [encharm/Font-Awesome-SVG-PNG](https://github.com/encharm/Font-Awesome-SVG-PNG).\n\n## SWIS :heart: Open Source\n\n[SWIS][link-swis] is a web agency from Leiden, the Netherlands. We love working with open source software.\n\n[link-swis]: https://www.swis.nl\n"
  },
  {
    "path": "bower.json",
    "content": "{\n  \"name\": \"jQuery-contextMenu\",\n  \"main\": [\n    \"dist/jquery.contextMenu.js\",\n    \"dist/jquery.contextMenu.css\"\n  ],\n  \"homepage\": \"http://swisnl.github.io/jQuery-contextMenu/\",\n  \"authors\": [\n    \"Björn Brala <bjorn@swis.nl> (http://www.swis.nl)\",\n    \"Rodney Rehm <rodney.rehm@medialize.de> (http://rodneyrehm.de/en)\"\n  ],\n  \"description\": \"Full featured context menu handler capable of handling thousands of elements\",\n  \"keywords\": [\"contextmenu\", \"context-menu\", \"right-click-menu\", \"right-click\", \"navigation\", \"menu\"],\n  \"license\": \"MIT\",\n  \"dependencies\": {\n    \"jquery\": \">=1.8.2\"\n  },\n  \"ignore\": [\n    \"demo/\",\n    \"prettify/\",\n    \"screenshots/\",\n    \"**/.*\",\n    \"*.md\",\n    \"*.html\",\n    \"/*.css\",\n    \"/*.js\"\n  ]\n}\n"
  },
  {
    "path": "contextMenu.jquery.json",
    "content": "{\n    \"name\": \"contextMenu\",\n    \"title\": \"jQuery contextMenu\",\n    \"description\": \"full featured context menu handler capable of handling thousands of elements\",\n    \"keywords\": [\n        \"contextmenu\",\n        \"context-menu\",\n        \"right-click-menu\",\n        \"right-click\",\n        \"navigation\",\n        \"menu\"\n    ],\n    \"version\": \"git-master\",\n    \"author\": {\n        \"name\": \"Björn Brala (SWIS.nl)\",\n        \"url\": \"http://www.swis.nl\"\n    },\n    \"licenses\": [\n        {\n            \"type\": \"MIT\",\n            \"url\": \"https://github.com/jquery/jquery-color/blob/2.1.2/MIT-LICENSE.txt\"\n        }\n    ],\n    \"bugs\": \"https://github.com/swisnl/jQuery-contextMenu/issues\",\n    \"homepage\": \"http://swisnl.github.io/jQuery-contextMenu/\",\n    \"docs\": \"http://swisnl.github.io/jQuery-contextMenu/docs.html\",\n    \"dependencies\": {\n        \"jquery\": \">=1.8.2\"\n    }\n}"
  },
  {
    "path": "dist/jquery.contextMenu.css",
    "content": "@charset \"UTF-8\";\n/*!\n * jQuery contextMenu - Plugin for simple contextMenu handling\n *\n * Version: v2.9.2\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-2025 SWIS BV and contributors\n *\n * Licensed under\n *   MIT License http://www.opensource.org/licenses/mit-license\n *\n * Date: 2025-11-04T11:31:40.817Z\n */\n@-webkit-keyframes cm-spin {\n  0% {\n    -webkit-transform: translateY(-50%) rotate(0deg);\n            transform: translateY(-50%) rotate(0deg);\n  }\n  100% {\n    -webkit-transform: translateY(-50%) rotate(359deg);\n            transform: translateY(-50%) rotate(359deg);\n  }\n}\n@-o-keyframes cm-spin {\n  0% {\n    -webkit-transform: translateY(-50%) rotate(0deg);\n         -o-transform: translateY(-50%) rotate(0deg);\n            transform: translateY(-50%) rotate(0deg);\n  }\n  100% {\n    -webkit-transform: translateY(-50%) rotate(359deg);\n         -o-transform: translateY(-50%) rotate(359deg);\n            transform: translateY(-50%) rotate(359deg);\n  }\n}\n@keyframes cm-spin {\n  0% {\n    -webkit-transform: translateY(-50%) rotate(0deg);\n         -o-transform: translateY(-50%) rotate(0deg);\n            transform: translateY(-50%) rotate(0deg);\n  }\n  100% {\n    -webkit-transform: translateY(-50%) rotate(359deg);\n         -o-transform: translateY(-50%) rotate(359deg);\n            transform: translateY(-50%) rotate(359deg);\n  }\n}\n\n@font-face {\n  font-family: \"context-menu-icons\";\n  font-style: normal; \n  font-weight: normal;\n\n  src: url(\"font/context-menu-icons.eot?2dq4x\");\n  src: url(\"font/context-menu-icons.eot?2dq4x#iefix\") format(\"embedded-opentype\"), url(\"font/context-menu-icons.woff2?2dq4x\") format(\"woff2\"), url(\"font/context-menu-icons.woff?2dq4x\") format(\"woff\"), url(\"font/context-menu-icons.ttf?2dq4x\") format(\"truetype\");\n}\n\n.context-menu-icon-add:before {\n  content: \"\\EA01\";\n}\n\n.context-menu-icon-copy:before {\n  content: \"\\EA02\";\n}\n\n.context-menu-icon-cut:before {\n  content: \"\\EA03\";\n}\n\n.context-menu-icon-delete:before {\n  content: \"\\EA04\";\n}\n\n.context-menu-icon-edit:before {\n  content: \"\\EA05\";\n}\n\n.context-menu-icon-loading:before {\n  content: \"\\EA06\";\n}\n\n.context-menu-icon-paste:before {\n  content: \"\\EA07\";\n}\n\n.context-menu-icon-quit:before {\n  content: \"\\EA08\";\n}\n\n.context-menu-icon::before {\n  position: absolute;\n  top: 50%;\n  left: 0;\n  width: 2em; \n  font-family: \"context-menu-icons\";\n  font-size: 1em;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  color: #2980b9;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n       -o-transform: translateY(-50%);\n          transform: translateY(-50%);\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n.context-menu-icon.context-menu-hover:before {\n  color: #fff;\n}\n\n.context-menu-icon.context-menu-disabled::before {\n  color: #bbb;\n}\n\n.context-menu-icon.context-menu-icon-loading:before {\n  -webkit-animation: cm-spin 2s infinite;\n       -o-animation: cm-spin 2s infinite;\n          animation: cm-spin 2s infinite;\n}\n\n.context-menu-icon.context-menu-icon--fa {\n  display: list-item;\n  font-family: inherit;\n  line-height: inherit;\n}\n.context-menu-icon.context-menu-icon--fa::before {\n  position: absolute;\n  top: 50%;\n  left: 0;\n  width: 2em; \n  font-family: FontAwesome;\n  font-size: 1em;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  color: #2980b9;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n       -o-transform: translateY(-50%);\n          transform: translateY(-50%);\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.context-menu-icon.context-menu-icon--fa.context-menu-hover:before {\n  color: #fff;\n}\n.context-menu-icon.context-menu-icon--fa.context-menu-disabled::before {\n  color: #bbb;\n}\n\n.context-menu-icon.context-menu-icon--fa5 {\n  display: list-item;\n  font-family: inherit;\n  line-height: inherit;\n}\n.context-menu-icon.context-menu-icon--fa5 i, .context-menu-icon.context-menu-icon--fa5 svg {\n  position: absolute;\n  top: .3em; \n  left: .5em;\n  color: #2980b9;\n}\n.context-menu-icon.context-menu-icon--fa5.context-menu-hover > i, .context-menu-icon.context-menu-icon--fa5.context-menu-hover > svg {\n  color: #fff;\n}\n.context-menu-icon.context-menu-icon--fa5.context-menu-disabled i, .context-menu-icon.context-menu-icon--fa5.context-menu-disabled svg {\n  color: #bbb;\n}\n\n.context-menu-list {\n  position: absolute; \n  display: inline-block;\n  min-width: 13em;\n  max-width: 26em;\n  padding: .25em 0;\n  margin: .3em;\n  font-family: inherit;\n  font-size: inherit;\n  list-style-type: none;\n  background: #fff;\n  border: 1px solid #bebebe;\n  border-radius: .2em;\n  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .5);\n          box-shadow: 0 2px 5px rgba(0, 0, 0, .5);\n}\n\n.context-menu-item {\n  position: relative;\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  padding: .2em 2em;\n  color: #2f2f2f;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; \n  background-color: #fff;\n}\n\n.context-menu-separator {\n  padding: 0; \n  margin: .35em 0;\n  border-bottom: 1px solid #e6e6e6;\n}\n\n.context-menu-item > label > input,\n.context-menu-item > label > textarea {\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n}\n\n.context-menu-item.context-menu-hover {\n  color: #fff;\n  cursor: pointer; \n  background-color: #2980b9;\n}\n\n.context-menu-item.context-menu-disabled {\n  color: #bbb;\n  cursor: default; \n  background-color: #fff;\n}\n\n.context-menu-input.context-menu-hover {\n  color: #2f2f2f; \n  cursor: default;\n}\n\n.context-menu-submenu:after {\n  position: absolute;\n  top: 50%;\n  right: .5em;\n  z-index: 1; \n  width: 0;\n  height: 0;\n  content: '';\n  border-color: transparent transparent transparent #2f2f2f;\n  border-style: solid;\n  border-width: .25em 0 .25em .25em;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n       -o-transform: translateY(-50%);\n          transform: translateY(-50%);\n}\n\n/**\n * Inputs\n */\n.context-menu-item.context-menu-input {\n  padding: .3em .6em;\n}\n\n/* vertically align inside labels */\n.context-menu-input > label > * {\n  vertical-align: top;\n}\n\n/* position checkboxes and radios as icons */\n.context-menu-input > label > input[type=\"checkbox\"],\n.context-menu-input > label > input[type=\"radio\"] {\n  position: relative;\n  top: .12em; \n  margin-right: .4em;\n}\n\n.context-menu-input > label {\n  margin: 0;\n}\n\n.context-menu-input > label,\n.context-menu-input > label > input[type=\"text\"],\n.context-menu-input > label > textarea,\n.context-menu-input > label > select {\n  display: block;\n  width: 100%; \n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n\n.context-menu-input > label > textarea {\n  height: 7em;\n}\n\n.context-menu-item > .context-menu-list {\n  top: .3em; \n  /* re-positioned by js */\n  right: -.3em;\n  display: none;\n}\n\n.context-menu-item.context-menu-visible > .context-menu-list {\n  display: block;\n}\n\n.context-menu-accesskey {\n  text-decoration: underline;\n}\n"
  },
  {
    "path": "dist/jquery.contextMenu.js",
    "content": "/**\n * jQuery contextMenu v2.9.2 - Plugin for simple contextMenu handling\n *\n * Version: v2.9.2\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-2025 SWIS BV and contributors\n *\n * Licensed under\n *   MIT License http://www.opensource.org/licenses/mit-license\n *\n * Date: 2025-11-04T11:31:41.320Z\n */\n\n// jscs:disable\n/* jshint ignore:start */\n(function (factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as anonymous module.\n        define(['jquery'], factory);\n    } else if (typeof exports === 'object') {\n        // Node / CommonJS\n        factory(require('jquery'));\n    } else {\n        // Browser globals.\n        factory(jQuery);\n    }\n})(function ($) {\n\n    'use strict';\n\n    // helper function to check for rapid interactions after menu display\n    var isInteractionTooFast = function($element) {\n        if (!('ontouchstart' in window\n            || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)) {\n            return false;\n        }\n        var interactionTime = Date.now();\n        var $liItem = $element.is('input, textarea, select') ? $element.closest('.context-menu-item') : $element;\n        if (!$liItem || !$liItem.length) {\n            return false;\n        }\n        var $parentMenu = $liItem.parent();\n        if (!$parentMenu || !$parentMenu.length) {\n            return false;\n        }\n\n        // only apply the check for items within submenus\n        if ($parentMenu.hasClass('context-menu-root')) {\n            return false;\n        }\n\n        var showTimestamp = $parentMenu.data('_showTimestamp');\n        var timeDifference = showTimestamp ? interactionTime - showTimestamp : Infinity;\n\n        // threshold for fast interaction (e.g., mobile tap)\n        var threshold = 50; // ms\n\n        return timeDifference < threshold;\n    };\n\n    // TODO: -\n    // ARIA stuff: menuitem, menuitemcheckbox und menuitemradio\n    // create <menu> structure if $.support[htmlCommand || htmlMenuitem] and !opt.disableNative\n\n    // determine html5 compatibility\n    $.support.htmlMenuitem = ('HTMLMenuItemElement' in window);\n    $.support.htmlCommand = ('HTMLCommandElement' in window);\n    $.support.eventSelectstart = ('onselectstart' in document.documentElement);\n    /* // should the need arise, test for css user-select\n     $.support.cssUserSelect = (function(){\n     var t = false,\n     e = document.createElement('div');\n\n     $.each('Moz|Webkit|Khtml|O|ms|Icab|'.split('|'), function(i, prefix) {\n     var propCC = prefix + (prefix ? 'U' : 'u') + 'serSelect',\n     prop = (prefix ? ('-' + prefix.toLowerCase() + '-') : '') + 'user-select';\n\n     e.style.cssText = prop + ': text;';\n     if (e.style[propCC] == 'text') {\n     t = true;\n     return false;\n     }\n\n     return true;\n     });\n\n     return t;\n     })();\n     */\n\n\n    if (!$.ui || !$.widget) {\n        // duck punch $.cleanData like jQueryUI does to get that remove event\n        $.cleanData = (function (orig) {\n            return function (elems) {\n                var events, elem, i;\n                for (i = 0; elems[i] != null; i++) {\n                    elem = elems[i];\n                    try {\n                        // Only trigger remove when necessary to save time\n                        events = $._data(elem, 'events');\n                        if (events && events.remove) {\n                            $(elem).triggerHandler('remove');\n                        }\n\n                        // Http://bugs.jquery.com/ticket/8235\n                    } catch (e) {\n                    }\n                }\n                orig(elems);\n            };\n        })($.cleanData);\n    }\n    /* jshint ignore:end */\n    // jscs:enable\n\n    var // currently active contextMenu trigger\n        $currentTrigger = null,\n        // is contextMenu initialized with at least one menu?\n        initialized = false,\n        // window handle\n        $win = $(window),\n        // number of registered menus\n        counter = 0,\n        // mapping selector to namespace\n        namespaces = {},\n        // mapping namespace to options\n        menus = {},\n        // custom command type handlers\n        types = {},\n        // default values\n        defaults = {\n            // selector of contextMenu trigger\n            selector: null,\n            // where to append the menu to\n            appendTo: null,\n            // method to trigger context menu [\"right\", \"left\", \"hover\"]\n            trigger: 'right',\n            // hide menu when mouse leaves trigger / menu elements\n            autoHide: false,\n            // ms to wait before showing a hover-triggered context menu\n            delay: 200,\n            // flag denoting if a second trigger should simply move (true) or rebuild (false) an open menu\n            // as long as the trigger happened on one of the trigger-element's child nodes\n            reposition: true,\n            // Flag denoting if a second trigger should close the menu, as long as\n            // the trigger happened on one of the trigger-element's child nodes.\n            // This overrides the reposition option.\n            hideOnSecondTrigger: false,\n\n            // use a modal layer for closing the menu rather than a captured event on document\n            useModal: true,\n\n            //ability to select submenu\n            selectableSubMenu: false,\n\n            // Default classname configuration to be able avoid conflicts in frameworks\n            classNames: {\n                hover: 'context-menu-hover', // Item hover\n                disabled: 'context-menu-disabled', // Item disabled\n                visible: 'context-menu-visible', // Item visible\n                notSelectable: 'context-menu-not-selectable', // Item not selectable\n\n                icon: 'context-menu-icon',\n                iconEdit: 'context-menu-icon-edit',\n                iconCut: 'context-menu-icon-cut',\n                iconCopy: 'context-menu-icon-copy',\n                iconPaste: 'context-menu-icon-paste',\n                iconDelete: 'context-menu-icon-delete',\n                iconAdd: 'context-menu-icon-add',\n                iconQuit: 'context-menu-icon-quit',\n                iconLoadingClass: 'context-menu-icon-loading'\n            },\n\n            // determine position to show menu at\n            determinePosition: function ($menu) {\n                // position to the lower middle of the trigger element\n                if ($.ui && $.ui.position) {\n                    // .position() is provided as a jQuery UI utility\n                    // (...and it won't work on hidden elements)\n                    $menu.css('display', 'block').position({\n                        my: 'center top',\n                        at: 'center bottom',\n                        of: this,\n                        offset: '0 5',\n                        collision: 'fit'\n                    }).css('display', 'none');\n                } else {\n                    // determine contextMenu position\n                    var offset = this.offset();\n                    offset.top += this.outerHeight();\n                    offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;\n                    $menu.css(offset);\n                }\n            },\n            // position menu\n            position: function (opt, x, y) {\n                var offset;\n                // determine contextMenu position\n                if (!x && !y) {\n                    opt.determinePosition.call(this, opt.$menu);\n                    return;\n                } else if (x === 'maintain' && y === 'maintain') {\n                    // x and y must not be changed (after re-show on command click)\n                    offset = opt.$menu.position();\n                } else {\n                    // x and y are given (by mouse event)\n                    var offsetParentOffset = opt.$menu.offsetParent().offset();\n                    offset = {top: y - offsetParentOffset.top, left: x -offsetParentOffset.left};\n                }\n\n                // correct offset if viewport demands it\n                var bottom = $win.scrollTop() + $win.height(),\n                    right = $win.scrollLeft() + $win.width(),\n                    height = opt.$menu.outerHeight(),\n                    width = opt.$menu.outerWidth();\n\n                if (offset.top + height > bottom) {\n                    offset.top -= height;\n                }\n\n                if (offset.top < 0) {\n                    offset.top = 0;\n                }\n\n                if (offset.left + width > right) {\n                    offset.left -= width;\n                }\n\n                if (offset.left < 0) {\n                    offset.left = 0;\n                }\n\n                opt.$menu.css(offset);\n            },\n            // position the sub-menu\n            positionSubmenu: function ($menu) {\n                if (typeof $menu === 'undefined') {\n                    // When user hovers over item (which has sub items) handle.focusItem will call this.\n                    // but the submenu does not exist yet if opt.items is a promise. just return, will\n                    // call positionSubmenu after promise is completed.\n                    return;\n                }\n                if ($.ui && $.ui.position) {\n                    // .position() is provided as a jQuery UI utility\n                    // (...and it won't work on hidden elements)\n                    $menu.css('display', 'block').position({\n                        my: 'left top-5',\n                        at: 'right top',\n                        of: this,\n                        collision: 'flipfit fit'\n                    }).css('display', '');\n                } else {\n                    // determine contextMenu position\n                    var offset = {\n                        top: -9,\n                        left: this.outerWidth() - 5\n                    };\n                    $menu.css(offset);\n                }\n            },\n            // offset to add to zIndex\n            zIndex: 1,\n            // show hide animation settings\n            animation: {\n                duration: 50,\n                show: 'slideDown',\n                hide: 'slideUp'\n            },\n            // events\n            events: {\n                preShow: $.noop,\n                show: $.noop,\n                hide: $.noop,\n                activated: $.noop\n            },\n            // default callback\n            callback: null,\n            // list of contextMenu items\n            items: {}\n        },\n        // mouse position for hover activation\n        hoveract = {\n            timer: null,\n            pageX: null,\n            pageY: null\n        },\n        // determine zIndex\n        zindex = function ($t) {\n            var zin = 0,\n                $tt = $t;\n\n            while (true) {\n                zin = Math.max(zin, parseInt($tt.css('z-index'), 10) || 0);\n                $tt = $tt.parent();\n                if (!$tt || !$tt.length || 'html body'.indexOf($tt.prop('nodeName').toLowerCase()) > -1) {\n                    break;\n                }\n            }\n            return zin;\n        },\n        // event handlers\n        handle = {\n            // abort anything\n            abortevent: function (e) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n            },\n            // contextmenu show dispatcher\n            contextmenu: function (e) {\n                var $this = $(this);\n\n                //Show browser context-menu when preShow returns false\n                if (e.data.events.preShow($this,e) === false) {\n                    return;\n                }\n\n                // disable actual context-menu if we are using the right mouse button as the trigger\n                if (e.data.trigger === 'right') {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                }\n\n                // abort native-triggered events unless we're triggering on right click\n                if ((e.data.trigger !== 'right' && e.data.trigger !== 'demand') && e.originalEvent) {\n                    return;\n                }\n\n                // Let the current contextmenu decide if it should show or not based on its own trigger settings\n                if (typeof e.mouseButton !== 'undefined' && e.data) {\n                    if (!(e.data.trigger === 'left' && e.mouseButton === 0) && !(e.data.trigger === 'right' && e.mouseButton === 2)) {\n                        // Mouse click is not valid.\n                        return;\n                    }\n                }\n\n                // abort event if menu is visible for this trigger\n                if ($this.hasClass('context-menu-active')) {\n                    return;\n                }\n\n                if (!$this.hasClass('context-menu-disabled')) {\n                    // theoretically need to fire a show event at <menu>\n                    // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus\n                    // var evt = jQuery.Event(\"show\", { data: data, pageX: e.pageX, pageY: e.pageY, relatedTarget: this });\n                    // e.data.$menu.trigger(evt);\n\n                    $currentTrigger = $this;\n                    if (e.data.build) {\n                        var built = e.data.build($currentTrigger, e);\n                        // abort if build() returned false\n                        if (built === false) {\n                            return;\n                        }\n\n                        // dynamically build menu on invocation\n                        e.data = $.extend(true, {}, defaults, e.data, built || {});\n\n                        // abort if there are no items to display\n                        if (!e.data.items || $.isEmptyObject(e.data.items)) {\n                            // Note: jQuery captures and ignores errors from event handlers\n                            if (window.console) {\n                                (console.error || console.log).call(console, 'No items specified to show in contextMenu');\n                            }\n\n                            throw new Error('No Items specified');\n                        }\n\n                        // backreference for custom command type creation\n                        e.data.$trigger = $currentTrigger;\n\n                        op.create(e.data);\n                    }\n                    op.show.call($this, e.data, e.pageX, e.pageY);\n                }\n            },\n            // contextMenu left-click trigger\n            click: function (e) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n                $(this).trigger($.Event('contextmenu', {data: e.data, pageX: e.pageX, pageY: e.pageY}));\n            },\n            // contextMenu right-click trigger\n            mousedown: function (e) {\n                // register mouse down\n                var $this = $(this);\n\n                // hide any previous menus\n                if ($currentTrigger && $currentTrigger.length && !$currentTrigger.is($this)) {\n                    $currentTrigger.data('contextMenu').$menu.trigger('contextmenu:hide');\n                }\n\n                // activate on right click\n                if (e.button === 2) {\n                    $currentTrigger = $this.data('contextMenuActive', true);\n                }\n            },\n            // contextMenu right-click trigger\n            mouseup: function (e) {\n                // show menu\n                var $this = $(this);\n                if ($this.data('contextMenuActive') && $currentTrigger && $currentTrigger.length && $currentTrigger.is($this) && !$this.hasClass('context-menu-disabled')) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    $currentTrigger = $this;\n                    $this.trigger($.Event('contextmenu', {data: e.data, pageX: e.pageX, pageY: e.pageY}));\n                }\n\n                $this.removeData('contextMenuActive');\n            },\n            // contextMenu hover trigger\n            mouseenter: function (e) {\n                var $this = $(this),\n                    $related = $(e.relatedTarget),\n                    $document = $(document);\n\n                // abort if we're coming from a menu\n                if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n                    return;\n                }\n\n                // abort if a menu is shown\n                if ($currentTrigger && $currentTrigger.length) {\n                    return;\n                }\n\n                hoveract.pageX = e.pageX;\n                hoveract.pageY = e.pageY;\n                hoveract.data = e.data;\n                $document.on('mousemove.contextMenuShow', handle.mousemove);\n                hoveract.timer = setTimeout(function () {\n                    hoveract.timer = null;\n                    $document.off('mousemove.contextMenuShow');\n                    $currentTrigger = $this;\n                    $this.trigger($.Event('contextmenu', {\n                        data: hoveract.data,\n                        pageX: hoveract.pageX,\n                        pageY: hoveract.pageY\n                    }));\n                }, e.data.delay);\n            },\n            // contextMenu hover trigger\n            mousemove: function (e) {\n                hoveract.pageX = e.pageX;\n                hoveract.pageY = e.pageY;\n            },\n            // contextMenu hover trigger\n            mouseleave: function (e) {\n                // abort if we're leaving for a menu\n                var $related = $(e.relatedTarget);\n                if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n                    return;\n                }\n\n                try {\n                    clearTimeout(hoveract.timer);\n                } catch (e) {\n                }\n\n                hoveract.timer = null;\n            },\n            // click on layer to hide contextMenu\n            layerClick: function (e, opt, onhide) {\n                var $this = $(this),\n                    root = (opt !== undefined) ? opt : $this.data('contextMenuRoot'),\n                    button = e.button,\n                    x = e.pageX,\n                    y = e.pageY,\n                    fakeClick = x === undefined,\n                    target,\n                    offset;\n\n                // If the click is not real, things break: https://github.com/swisnl/jQuery-contextMenu/issues/132\n                if(fakeClick){\n                    if (root !== null && typeof root !== 'undefined' && root.$menu !== null  && typeof root.$menu !== 'undefined') {\n                        root.$menu.trigger('contextmenu:hide');\n                    }\n                    return;\n                }\n\n                // if the click closing is done through windwow event listener rather than a transparent layer\n                if (!root.$layer) {\n                    target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());\n                    if (root.$menu === null || typeof root.$menu === 'undefined' || !root.$menu[0].contains(target)) {\n\n                        root.$menu.trigger('contextmenu:hide');\n                        if (typeof onhide !== 'undefined')\n                            onhide();\n                    }\n                    return;\n                }\n                e.preventDefault();\n\n                setTimeout(function () {\n\n                    var $window;\n                    var triggerAction = ((root.trigger === 'left' && button === 0) || (root.trigger === 'right' && button === 2));\n\n                    // find the element that would've been clicked, wasn't the layer in the way\n                    if (document.elementFromPoint && root.$layer) {\n                        root.$layer.hide();\n                        target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());\n\n                        // also need to try and focus this element if we're in a contenteditable area,\n                        // as the layer will prevent the browser mouse action we want\n                        if (target !== null && target.isContentEditable) {\n                            var range = document.createRange(),\n                                sel = window.getSelection();\n                            range.selectNode(target);\n                            range.collapse(true);\n                            sel.removeAllRanges();\n                            sel.addRange(range);\n                        }\n                        $(target).trigger(e);\n                        root.$layer.show();\n                    }\n\n                    if (root.hideOnSecondTrigger && triggerAction && root.$menu !== null && typeof root.$menu !== 'undefined') {\n                      root.$menu.trigger('contextmenu:hide');\n                      return;\n                    }\n\n                    if (root.reposition && triggerAction) {\n                        if (document.elementFromPoint) {\n                            if (root.$trigger.is(target)) {\n                                root.position.call(root.$trigger, root, x, y);\n                                return;\n                            }\n                        } else {\n                            offset = root.$trigger.offset();\n                            $window = $(window);\n                            // while this looks kinda awful, it's the best way to avoid\n                            // unnecessarily calculating any positions\n                            offset.top += $window.scrollTop();\n                            if (offset.top <= e.pageY) {\n                                offset.left += $window.scrollLeft();\n                                if (offset.left <= e.pageX) {\n                                    offset.bottom = offset.top + root.$trigger.outerHeight();\n                                    if (offset.bottom >= e.pageY) {\n                                        offset.right = offset.left + root.$trigger.outerWidth();\n                                        if (offset.right >= e.pageX) {\n                                            // reposition\n                                            root.position.call(root.$trigger, root, x, y);\n                                            return;\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n\n                    if (target && triggerAction) {\n                        root.$trigger.one('contextmenu:hidden', function () {\n                            $(target).contextMenu({x: x, y: y, button: button});\n                        });\n                    }\n\n                    if (root !== null && typeof root !== 'undefined' && root.$menu !== null  && typeof root.$menu !== 'undefined') {\n                        root.$menu.trigger('contextmenu:hide');\n                    }\n                }, 50);\n            },\n            // key handled :hover\n            keyStop: function (e, opt) {\n                if (!opt.isInput) {\n                    e.preventDefault();\n                }\n\n                e.stopPropagation();\n            },\n            key: function (e) {\n\n                var opt = {};\n\n                // Only get the data from $currentTrigger if it exists\n                if ($currentTrigger) {\n                    opt = $currentTrigger.data('contextMenu') || {};\n                }\n                // If the trigger happen on a element that are above the contextmenu do this\n                if (typeof opt.zIndex === 'undefined') {\n                    opt.zIndex = 0;\n                }\n                var targetZIndex = 0;\n                var getZIndexOfTriggerTarget = function (target) {\n                    if (target.style.zIndex !== '') {\n                        targetZIndex = target.style.zIndex;\n                    } else {\n                        if (target.offsetParent !== null && typeof target.offsetParent !== 'undefined') {\n                            getZIndexOfTriggerTarget(target.offsetParent);\n                        }\n                        else if (target.parentElement !== null && typeof target.parentElement !== 'undefined') {\n                            getZIndexOfTriggerTarget(target.parentElement);\n                        }\n                    }\n                };\n                getZIndexOfTriggerTarget(e.target);\n                // If targetZIndex is heigher then opt.zIndex dont progress any futher.\n                // This is used to make sure that if you are using a dialog with a input / textarea / contenteditable div\n                // and its above the contextmenu it wont steal keys events\n                if (opt.$menu && parseInt(targetZIndex,10) > parseInt(opt.$menu.css(\"zIndex\"),10)) {\n                    return;\n                }\n                switch (e.keyCode) {\n                    case 9:\n                    case 38: // up\n                        handle.keyStop(e, opt);\n                        // if keyCode is [38 (up)] or [9 (tab) with shift]\n                        if (opt.isInput) {\n                            if (e.keyCode === 9 && e.shiftKey) {\n                                e.preventDefault();\n                                if (opt.$selected) {\n                                    opt.$selected.find('input, textarea, select').blur();\n                                }\n                                if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('prevcommand');\n                                }\n                                return;\n                            } else if (e.keyCode === 38 && opt.$selected.find('input, textarea, select').prop('type') === 'checkbox') {\n                                // checkboxes don't capture this key\n                                e.preventDefault();\n                                return;\n                            }\n                        } else if (e.keyCode !== 9 || e.shiftKey) {\n                            if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                opt.$menu.trigger('prevcommand');\n                            }\n                            return;\n                        }\n                        break;\n                    // omitting break;\n                    // case 9: // tab - reached through omitted break;\n                    case 40: // down\n                        handle.keyStop(e, opt);\n                        if (opt.isInput) {\n                            if (e.keyCode === 9) {\n                                e.preventDefault();\n                                if (opt.$selected) {\n                                    opt.$selected.find('input, textarea, select').blur();\n                                }\n                                if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('nextcommand');\n                                }\n                                return;\n                            } else if (e.keyCode === 40 && opt.$selected.find('input, textarea, select').prop('type') === 'checkbox') {\n                                // checkboxes don't capture this key\n                                e.preventDefault();\n                                return;\n                            }\n                        } else {\n                            if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                opt.$menu.trigger('nextcommand');\n                            }\n                            return;\n                        }\n                        break;\n\n                    case 37: // left\n                        handle.keyStop(e, opt);\n                        if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n                            break;\n                        }\n\n                        if (!opt.$selected.parent().hasClass('context-menu-root')) {\n                            var $parent = opt.$selected.parent().parent();\n                            opt.$selected.trigger('contextmenu:blur');\n                            opt.$selected = $parent;\n                            return;\n                        }\n                        break;\n\n                    case 39: // right\n                        handle.keyStop(e, opt);\n                        if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n                            break;\n                        }\n\n                        var itemdata = opt.$selected.data('contextMenu') || {};\n                        if (itemdata.$menu && opt.$selected.hasClass('context-menu-submenu')) {\n                            opt.$selected = null;\n                            itemdata.$selected = null;\n                            itemdata.$menu.trigger('nextcommand');\n                            return;\n                        }\n                        break;\n\n                    case 35: // end\n                    case 36: // home\n                        if (opt.$selected && opt.$selected.find('input, textarea, select').length) {\n                            return;\n                        } else {\n                            (opt.$selected && opt.$selected.parent() || opt.$menu)\n                                .children(':not(.' + opt.classNames.disabled + ', .' + opt.classNames.notSelectable + ')')[e.keyCode === 36 ? 'first' : 'last']()\n                                .trigger('contextmenu:focus');\n                            e.preventDefault();\n                            return;\n                        }\n                        break;\n\n                    case 13: // enter\n                        handle.keyStop(e, opt);\n                        if (opt.isInput) {\n                            if (opt.$selected && !opt.$selected.is('textarea, select')) {\n                                e.preventDefault();\n                                return;\n                            }\n                            break;\n                        }\n                        if (typeof opt.$selected !== 'undefined' && opt.$selected !== null) {\n                            opt.$selected.trigger('mouseup');\n                        }\n                        return;\n\n                    case 32: // space\n                    case 33: // page up\n                    case 34: // page down\n                        // prevent browser from scrolling down while menu is visible\n                        handle.keyStop(e, opt);\n                        return;\n\n                    case 27: // esc\n                        handle.keyStop(e, opt);\n                        if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                            opt.$menu.trigger('contextmenu:hide');\n                        }\n                        return;\n\n                    default: // 0-9, a-z\n                        var k = (String.fromCharCode(e.keyCode)).toUpperCase();\n                        if (opt.accesskeys && opt.accesskeys[k]) {\n                            // according to the specs accesskeys must be invoked immediately\n                            opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? 'contextmenu:focus' : 'mouseup');\n                            return;\n                        }\n                        break;\n                }\n                // pass event to selected item,\n                // stop propagation to avoid endless recursion\n                e.stopPropagation();\n                if (typeof opt.$selected !== 'undefined' && opt.$selected !== null) {\n                    opt.$selected.trigger(e);\n                }\n            },\n            // select previous possible command in menu\n            prevItem: function (e) {\n                e.stopPropagation();\n                var opt = $(this).data('contextMenu') || {};\n                var root = $(this).data('contextMenuRoot') || {};\n\n                // obtain currently selected menu\n                if (opt.$selected) {\n                    var $s = opt.$selected;\n                    opt = opt.$selected.parent().data('contextMenu') || {};\n                    opt.$selected = $s;\n                }\n\n                var $children = opt.$menu.children(),\n                    $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),\n                    $round = $prev;\n\n                // skip disabled or hidden elements\n                while ($prev.hasClass(root.classNames.disabled) || $prev.hasClass(root.classNames.notSelectable) || $prev.is(':hidden')) {\n                    if ($prev.prev().length) {\n                        $prev = $prev.prev();\n                    } else {\n                        $prev = $children.last();\n                    }\n                    if ($prev.is($round)) {\n                        // break endless loop\n                        return;\n                    }\n                }\n\n                // leave current\n                if (opt.$selected) {\n                    handle.itemMouseleave.call(opt.$selected.get(0), e);\n                }\n\n                // activate next\n                handle.itemMouseenter.call($prev.get(0), e);\n\n                // focus input\n                var $input = $prev.find('input, textarea, select');\n                if ($input.length) {\n                    $input.focus();\n                }\n            },\n            // select next possible command in menu\n            nextItem: function (e) {\n                e.stopPropagation();\n                var opt = $(this).data('contextMenu') || {};\n                var root = $(this).data('contextMenuRoot') || {};\n\n                // obtain currently selected menu\n                if (opt.$selected) {\n                    var $s = opt.$selected;\n                    opt = opt.$selected.parent().data('contextMenu') || {};\n                    opt.$selected = $s;\n                }\n\n                var $children = opt.$menu.children(),\n                    $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(),\n                    $round = $next;\n\n                // skip disabled\n                while ($next.hasClass(root.classNames.disabled) || $next.hasClass(root.classNames.notSelectable) || $next.is(':hidden')) {\n                    if ($next.next().length) {\n                        $next = $next.next();\n                    } else {\n                        $next = $children.first();\n                    }\n                    if ($next.is($round)) {\n                        // break endless loop\n                        return;\n                    }\n                }\n\n                // leave current\n                if (opt.$selected) {\n                    handle.itemMouseleave.call(opt.$selected.get(0), e);\n                }\n\n                // activate next\n                handle.itemMouseenter.call($next.get(0), e);\n\n                // focus input\n                var $input = $next.find('input, textarea, select');\n                if ($input.length) {\n                    $input.focus();\n                }\n            },\n            // flag that we're inside an input so the key handler can act accordingly\n            focusInput: function () {\n                var $this = $(this).closest('.context-menu-item'),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                root.$selected = opt.$selected = $this;\n                root.isInput = opt.isInput = true;\n            },\n            // flag that we're inside an input so the key handler can act accordingly\n            blurInput: function () {\n                var $this = $(this).closest('.context-menu-item'),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                root.isInput = opt.isInput = false;\n            },\n            // :hover on menu\n            menuMouseenter: function () {\n                var root = $(this).data().contextMenuRoot;\n                root.hovering = true;\n            },\n            // :hover on menu\n            menuMouseleave: function (e) {\n                var root = $(this).data().contextMenuRoot;\n                if (root.$layer && root.$layer.is(e.relatedTarget)) {\n                    root.hovering = false;\n                }\n            },\n            // :hover done manually so key handling is possible\n            itemMouseenter: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                // prevent fast hover on mobile tap-through\n                if (isInteractionTooFast($this)) {\n                    return;\n                }\n\n                root.hovering = true;\n\n                // abort if we're re-entering\n                if (e && root.$layer && root.$layer.is(e.relatedTarget)) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                }\n\n                // make sure only one item is selected\n                (opt.$menu ? opt : root).$menu\n                    .children('.' + root.classNames.hover).trigger('contextmenu:blur')\n                    .children('.hover').trigger('contextmenu:blur');\n\n                if ($this.hasClass(root.classNames.disabled) || $this.hasClass(root.classNames.notSelectable)) {\n                    opt.$selected = null;\n                    return;\n                }\n\n\n                $this.trigger('contextmenu:focus');\n            },\n            // :hover done manually so key handling is possible\n            itemMouseleave: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if (root !== opt && root.$layer && root.$layer.is(e.relatedTarget)) {\n                    if (typeof root.$selected !== 'undefined' && root.$selected !== null) {\n                        root.$selected.trigger('contextmenu:blur');\n                    }\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    root.$selected = opt.$selected = opt.$node;\n                    return;\n                }\n\n                if(opt && opt.$menu && opt.$menu.hasClass('context-menu-visible')){\n                    return;\n                }\n\n                $this.trigger('contextmenu:blur');\n            },\n            // contextMenu item click\n            itemClick: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot,\n                    key = data.contextMenuKey,\n                    callback;\n\n                // prevent fast click-through on mobile taps\n                if (isInteractionTooFast($this)) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    return;\n                }\n\n                // abort if the key is unknown or disabled or is a menu\n                // explicitly handle non-selectable submenu clicks first to stop propagation\n                if ($this.is('.context-menu-submenu') && root.selectableSubMenu === false) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation(); // Stop event here for non-selectable submenus\n                    return;\n                }\n\n                // original check for other non-clickable/disabled items\n                if (!opt.items[key] || $this.is('.' + root.classNames.disabled + ', .context-menu-separator, .' + root.classNames.notSelectable)) {\n                    return;\n                }\n\n                // if it wasn't a non-selectable submenu or other disabled item, prevent default and stop propagation before callback\n                e.preventDefault();\n                e.stopImmediatePropagation();\n\n                if ($.isFunction(opt.callbacks[key]) && Object.prototype.hasOwnProperty.call(opt.callbacks, key)) {\n                    // item-specific callback\n                    callback = opt.callbacks[key];\n                } else if ($.isFunction(root.callback)) {\n                    // default callback\n                    callback = root.callback;\n                } else {\n                    // no callback, no action\n                    return;\n                }\n\n                // hide menu if callback doesn't stop that\n                if (callback.call(root.$trigger, key, root, e) !== false) {\n                    root.$menu.trigger('contextmenu:hide');\n                } else if (root.$menu.parent().length) {\n                    op.update.call(root.$trigger, root);\n                }\n            },\n            // ignore click events on input elements\n            inputClick: function (e) {\n                e.stopImmediatePropagation();\n            },\n            // hide <menu>\n            hideMenu: function (e, data) {\n                var root = $(this).data('contextMenuRoot');\n                op.hide.call(root.$trigger, root, data && data.force);\n            },\n            // focus <command>\n            focusItem: function (e) {\n                e.stopPropagation();\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if ($this.hasClass(root.classNames.disabled) || $this.hasClass(root.classNames.notSelectable)) {\n                    return;\n                }\n\n                $this\n                    .addClass([root.classNames.hover, root.classNames.visible].join(' '))\n                    // select other items and included items\n                    .parent().find('.context-menu-item').not($this)\n                    .removeClass(root.classNames.visible)\n                    .filter('.' + root.classNames.hover)\n                    .trigger('contextmenu:blur');\n\n                // remember selected\n                opt.$selected = root.$selected = $this;\n\n\n                if(opt && opt.$node && opt.$node.hasClass('context-menu-submenu')){\n                    opt.$node.addClass(root.classNames.hover);\n                }\n\n                // position sub-menu - do after show so dumb $.ui.position can keep up\n                if (opt.$node) {\n                    root.positionSubmenu.call(opt.$node, opt.$menu);\n                    if (opt.$menu) {\n                        var focusShowTimestamp = Date.now();\n                         opt.$menu.data('_showTimestamp', focusShowTimestamp);\n                    }\n                }\n            },\n            // blur <command>\n            blurItem: function (e) {\n                e.stopPropagation();\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if (opt.autoHide) { // for tablets and touch screens this needs to remain\n                    $this.removeClass(root.classNames.visible);\n                }\n                $this.removeClass(root.classNames.hover);\n                opt.$selected = null;\n            }\n        },\n        // operations\n        op = {\n            show: function (opt, x, y) {\n                var $trigger = $(this),\n                    css = {};\n\n                // hide any open menus\n                if ($('#context-menu-layer').length > 0)\n                    $('#context-menu-layer').trigger('mousedown');\n                else\n                    $(document).trigger('contextmenu:hide');\n\n                // backreference for callbacks\n                opt.$trigger = $trigger;\n\n                // show event\n                if (opt.events.show.call($trigger, opt) === false) {\n                    $currentTrigger = null;\n                    return;\n                }\n\n                // create or update context menu\n                var hasVisibleItems = op.update.call($trigger, opt);\n                if (hasVisibleItems === false) {\n                    $currentTrigger = null;\n                    return;\n                }\n\n                // position menu\n                opt.position.call($trigger, opt, x, y);\n\n                // make sure we're in front\n                if (opt.zIndex) {\n                    var additionalZValue = opt.zIndex;\n                    // If opt.zIndex is a function, call the function to get the right zIndex.\n                    if (typeof opt.zIndex === 'function') {\n                        additionalZValue = opt.zIndex.call($trigger, opt);\n                    }\n                    css.zIndex = zindex($trigger) + additionalZValue;\n                }\n\n                // add layer\n                op.layer.call(opt.$menu, opt, css.zIndex);\n\n                // adjust sub-menu zIndexes\n                opt.$menu.find('ul').css('zIndex', css.zIndex + 1);\n\n                // position and show context menu\n                opt.$menu.css(css)[opt.animation.show](opt.animation.duration, function () {\n                    $trigger.trigger('contextmenu:visible');\n\n                    var rootShowTimestamp = Date.now();\n                    opt.$menu.data('_showTimestamp', rootShowTimestamp);\n\n                    op.activated(opt);\n                    opt.events.activated(opt);\n                });\n                // make options available and set state\n                $trigger\n                    .data('contextMenu', opt)\n                    .addClass('context-menu-active');\n\n                // register key handler\n                $(document).off('keydown.contextMenu').on('keydown.contextMenu', handle.key);\n                // register autoHide handler\n                if (opt.autoHide) {\n                    // mouse position handler\n                    $(document).on('mousemove.contextMenuAutoHide', function (e) {\n                        // need to capture the offset on mousemove,\n                        // since the page might've been scrolled since activation\n                        var pos = $trigger.offset();\n                        pos.right = pos.left + $trigger.outerWidth();\n                        pos.bottom = pos.top + $trigger.outerHeight();\n\n                        if (opt.$layer && !opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom))) {\n                            /* Additional hover check after short time, you might just miss the edge of the menu */\n                            setTimeout(function () {\n                                if (!opt.hovering && opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('contextmenu:hide');\n                                }\n                            }, 50);\n                        }\n                    });\n                }\n            },\n            hide: function (opt, force) {\n                var $trigger = $(this);\n                if (!opt) {\n                    opt = $trigger.data('contextMenu') || {};\n                }\n\n                // hide event\n                if (!force && opt.events && opt.events.hide.call($trigger, opt) === false) {\n                    return;\n                }\n\n                // remove options and revert state\n                $trigger\n                    .removeData('contextMenu')\n                    .removeClass('context-menu-active');\n\n                if (opt.$layer) {\n                    // keep layer for a bit so the contextmenu event can be aborted properly by opera\n                    setTimeout((function ($layer) {\n                        return function () {\n                            $layer.remove();\n                        };\n                    })(opt.$layer), 10);\n\n                    try {\n                        delete opt.$layer;\n                    } catch (e) {\n                        opt.$layer = null;\n                    }\n                }\n\n                // remove handle\n                $currentTrigger = null;\n                // remove selected\n                opt.$menu.find('.' + opt.classNames.hover).trigger('contextmenu:blur');\n                opt.$selected = null;\n                // collapse all submenus\n                opt.$menu.find('.' + opt.classNames.visible).removeClass(opt.classNames.visible);\n                // unregister key and mouse handlers\n                // $(document).off('.contextMenuAutoHide keydown.contextMenu'); // http://bugs.jquery.com/ticket/10705\n                $(document).off('.contextMenuAutoHide').off('keydown.contextMenu');\n                // hide menu\n                if (opt.$menu) {\n                    opt.$menu[opt.animation.hide](opt.animation.duration, function () {\n                        // tear down dynamically built menu after animation is completed.\n                        if (opt.build) {\n                            opt.$menu.remove();\n                            $.each(opt, function (key) {\n                                switch (key) {\n                                    case 'ns':\n                                    case 'selector':\n                                    case 'build':\n                                    case 'trigger':\n                                        return true;\n\n                                    default:\n                                        opt[key] = undefined;\n                                        try {\n                                            delete opt[key];\n                                        } catch (e) {\n                                        }\n                                        return true;\n                                }\n                            });\n                        }\n\n                        setTimeout(function () {\n                            $trigger.trigger('contextmenu:hidden');\n                        }, 10);\n                    });\n                }\n            },\n            create: function (opt, root) {\n                if (typeof root === 'undefined') {\n                    root = opt;\n                }\n\n                // define handler for fast input clicks\n                var handleFastInputClick = function(e) {\n                    var $inputClicked = $(this);\n                    if (isInteractionTooFast($inputClicked)) {\n                        e.preventDefault();\n                        e.stopImmediatePropagation();\n                        return false;\n                    }\n                };\n\n                // create contextMenu\n                opt.$menu = $('<ul class=\"context-menu-list\"></ul>').addClass(opt.className || '').data({\n                    'contextMenu': opt,\n                    'contextMenuRoot': root\n                });\n                if(opt.dataAttr){\n                    $.each(opt.dataAttr, function (key, item) {\n                        opt.$menu.attr('data-' + opt.key, item);\n                    });\n                }\n\n                $.each(['callbacks', 'commands', 'inputs'], function (i, k) {\n                    opt[k] = {};\n                    if (!root[k]) {\n                        root[k] = {};\n                    }\n                });\n\n                if (!root.accesskeys) {\n                    root.accesskeys = {};\n                }\n\n                function createNameNode(item) {\n                    var $name = $('<span></span>');\n                    if (item._accesskey) {\n                        if (item._beforeAccesskey) {\n                            $name.append(document.createTextNode(item._beforeAccesskey));\n                        }\n                        $('<span></span>')\n                            .addClass('context-menu-accesskey')\n                            .text(item._accesskey)\n                            .appendTo($name);\n                        if (item._afterAccesskey) {\n                            $name.append(document.createTextNode(item._afterAccesskey));\n                        }\n                    } else {\n                        if (item.isHtmlName) {\n                            // restrict use with access keys\n                            if (typeof item.accesskey !== 'undefined') {\n                                throw new Error('accesskeys are not compatible with HTML names and cannot be used together in the same item');\n                            }\n                            $name.html(item.name);\n                        } else {\n                            $name.text(item.name);\n                        }\n                    }\n                    return $name;\n                }\n\n                // create contextMenu items\n                $.each(opt.items, function (key, item) {\n                    var $t = $('<li class=\"context-menu-item\"></li>').addClass(item.className || ''),\n                        $label = null,\n                        $input = null;\n\n                    // iOS needs to see a click-event bound to an element to actually\n                    // have the TouchEvents infrastructure trigger the click event\n                    $t.on('click', $.noop);\n\n                    // Make old school string seperator a real item so checks wont be\n                    // akward later.\n                    // And normalize 'cm_separator' into 'cm_seperator'.\n                    if (typeof item === 'string' || item.type === 'cm_separator') {\n                        item = {type: 'cm_seperator'};\n                    }\n\n                    item.$node = $t.data({\n                        'contextMenu': opt,\n                        'contextMenuRoot': root,\n                        'contextMenuKey': key\n                    });\n\n                    // register accesskey\n                    // NOTE: the accesskey attribute should be applicable to any element, but Safari5 and Chrome13 still can't do that\n                    if (typeof item.accesskey !== 'undefined') {\n                        var aks = splitAccesskey(item.accesskey);\n                        for (var i = 0, ak; ak = aks[i]; i++) {\n                            if (!root.accesskeys[ak]) {\n                                root.accesskeys[ak] = item;\n                                var matched = item.name.match(new RegExp('^(.*?)(' + ak + ')(.*)$', 'i'));\n                                if (matched) {\n                                    item._beforeAccesskey = matched[1];\n                                    item._accesskey = matched[2];\n                                    item._afterAccesskey = matched[3];\n                                }\n                                break;\n                            }\n                        }\n                    }\n\n                    if (item.type && types[item.type]) {\n                        // run custom type handler\n                        types[item.type].call($t, item, opt, root);\n                        // register commands\n                        $.each([opt, root], function (i, k) {\n                            k.commands[key] = item;\n                            // Overwrite only if undefined or the item is appended to the root. This so it\n                            // doesn't overwrite callbacks of root elements if the name is the same.\n                            if ($.isFunction(item.callback) && (typeof k.callbacks[key] === 'undefined' || typeof opt.type === 'undefined')) {\n                                k.callbacks[key] = item.callback;\n                            }\n                        });\n                    } else {\n                        // add label for input\n                        if (item.type === 'cm_seperator') {\n                            $t.addClass('context-menu-separator ' + root.classNames.notSelectable);\n                        } else if (item.type === 'html') {\n                            $t.addClass('context-menu-html ' + root.classNames.notSelectable);\n                        } else if (item.type !== 'sub' && item.type) {\n                            $label = $('<label></label>').appendTo($t);\n                            createNameNode(item).appendTo($label);\n\n                            $t.addClass('context-menu-input');\n                            opt.hasTypes = true;\n                            $.each([opt, root], function (i, k) {\n                                k.commands[key] = item;\n                                k.inputs[key] = item;\n                            });\n                        } else if (item.items) {\n                            item.type = 'sub';\n                        }\n\n                        switch (item.type) {\n                            case 'cm_seperator':\n                                break;\n\n                            case 'text':\n                                $input = $('<input type=\"text\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .appendTo($label);\n                                break;\n\n                            case 'textarea':\n                                $input = $('<textarea name=\"\"></textarea>')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .appendTo($label);\n\n                                if (item.height) {\n                                    $input.height(item.height);\n                                }\n                                break;\n\n                            case 'checkbox':\n                                $input = $('<input type=\"checkbox\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .prop('checked', !!item.selected)\n                                    .prependTo($label);\n                                // prevent checkbox default action on fast click-through\n                                $input.on('click', handleFastInputClick);\n                                break;\n\n                            case 'radio':\n                                $input = $('<input type=\"radio\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + item.radio)\n                                    .val(item.value || '')\n                                    .prop('checked', !!item.selected)\n                                    .prependTo($label);\n                                // prevent radio default action on fast click-through\n                                $input.on('click', handleFastInputClick);\n                                break;\n\n                            case 'select':\n                                $input = $('<select name=\"\"></select>')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .appendTo($label);\n                                if (item.options) {\n                                    $.each(item.options, function (value, text) {\n                                        $('<option></option>').val(value).text(text).appendTo($input);\n                                    });\n                                    $input.val(item.selected);\n                                }\n                                break;\n\n                            case 'sub':\n                                createNameNode(item).appendTo($t);\n                                item.appendTo = item.$node;\n                                $t.data('contextMenu', item).addClass('context-menu-submenu');\n                                item.callback = null;\n\n                                // If item contains items, and this is a promise, we should create it later\n                                // check if subitems is of type promise. If it is a promise we need to create\n                                // it later, after promise has been resolved.\n                                if ('function' === typeof item.items.then) {\n                                    // probably a promise, process it, when completed it will create the sub menu's.\n                                    op.processPromises(item, root, item.items);\n                                } else {\n                                    // normal submenu.\n                                    op.create(item, root);\n                                }\n                                break;\n\n                            case 'html':\n                                $(item.html).appendTo($t);\n                                break;\n\n                            default:\n                                $.each([opt, root], function (i, k) {\n                                    k.commands[key] = item;\n                                    // Overwrite only if undefined or the item is appended to the root. This so it\n                                    // doesn't overwrite callbacks of root elements if the name is the same.\n                                    if ($.isFunction(item.callback) && (typeof k.callbacks[key] === 'undefined' || typeof opt.type === 'undefined')) {\n                                        k.callbacks[key] = item.callback;\n                                    }\n                                });\n                                createNameNode(item).appendTo($t);\n                                break;\n                        }\n\n                        // disable key listener in <input>\n                        if (item.type && item.type !== 'sub' && item.type !== 'html' && item.type !== 'cm_seperator') {\n                            $input\n                                .on('focus', handle.focusInput)\n                                .on('blur', handle.blurInput);\n\n                            if (item.events) {\n                                $input.on(item.events, opt);\n                            }\n                        }\n\n                        // add icons\n                        if (item.icon) {\n                            if ($.isFunction(item.icon)) {\n                                item._icon = item.icon.call(this, this, $t, key, item);\n                            } else {\n                                if (typeof(item.icon) === 'string' && (\n                                    item.icon.substring(0, 4) === 'fab '\n                                    || item.icon.substring(0, 4) === 'fas '\n                                    || item.icon.substring(0, 4) === 'fad '\n                                    || item.icon.substring(0, 4) === 'far '\n                                    || item.icon.substring(0, 4) === 'fal ')\n                                ) {\n                                    // to enable font awesome\n                                    $t.addClass(root.classNames.icon + ' ' + root.classNames.icon + '--fa5');\n                                    item._icon = $('<i class=\"' + item.icon + '\"></i>');\n                                } else if (typeof(item.icon) === 'string' && item.icon.substring(0, 3) === 'fa-') {\n                                    item._icon = root.classNames.icon + ' ' + root.classNames.icon + '--fa fa ' + item.icon;\n                                } else {\n                                    item._icon = root.classNames.icon + ' ' + root.classNames.icon + '-' + item.icon;\n                                }\n                            }\n\n                            if(typeof(item._icon) === \"string\"){\n                                $t.addClass(item._icon);\n                            } else {\n                                $t.prepend(item._icon);\n                            }\n                        }\n                    }\n\n                    // cache contained elements\n                    item.$input = $input;\n                    item.$label = $label;\n\n                    // attach item to menu\n                    $t.appendTo(opt.$menu);\n\n                    // Disable text selection\n                    if (!opt.hasTypes && $.support.eventSelectstart) {\n                        // browsers support user-select: none,\n                        // IE has a special event for text-selection\n                        // browsers supporting neither will not be preventing text-selection\n                        $t.on('selectstart.disableTextSelect', handle.abortevent);\n                    }\n                });\n                // attach contextMenu to <body> (to bypass any possible overflow:hidden issues on parents of the trigger element)\n                if (!opt.$node) {\n                    opt.$menu.css('display', 'none').addClass('context-menu-root');\n                }\n                opt.$menu.appendTo(opt.appendTo || document.body);\n            },\n            resize: function ($menu, nested) {\n                var domMenu;\n                // determine widths of submenus, as CSS won't grow them automatically\n                // position:absolute within position:absolute; min-width:100; max-width:200; results in width: 100;\n                // kinda sucks hard...\n\n                // determine width of absolutely positioned element\n                $menu.css({position: 'absolute', display: 'block'});\n                // don't apply yet, because that would break nested elements' widths\n                $menu.data('width',\n                    (domMenu = $menu.get(0)).getBoundingClientRect ?\n                        Math.ceil(domMenu.getBoundingClientRect().width) :\n                        $menu.outerWidth() + 1); // outerWidth() returns rounded pixels\n                // reset styles so they allow nested elements to grow/shrink naturally\n                $menu.css({\n                    position: 'static',\n                    minWidth: '0px',\n                    maxWidth: '100000px'\n                });\n                // identify width of nested menus\n                $menu.find('> li > ul').each(function () {\n                    op.resize($(this), true);\n                });\n                // reset and apply changes in the end because nested\n                // elements' widths wouldn't be calculatable otherwise\n                if (!nested) {\n                    $menu.find('ul').addBack().css({\n                        position: '',\n                        display: '',\n                        minWidth: '',\n                        maxWidth: ''\n                    }).outerWidth(function () {\n                        return $(this).data('width');\n                    });\n                }\n            },\n            update: function (opt, root) {\n                var $trigger = this;\n                if (typeof root === 'undefined') {\n                    root = opt;\n                    op.resize(opt.$menu);\n                }\n\n                var hasVisibleItems = false;\n\n                // re-check disabled for each item\n                opt.$menu.children().each(function () {\n                    var $item = $(this),\n                        key = $item.data('contextMenuKey'),\n                        item = opt.items[key],\n                        disabled = ($.isFunction(item.disabled) && item.disabled.call($trigger, key, root)) || item.disabled === true,\n                        visible;\n                    if ($.isFunction(item.visible)) {\n                        visible = item.visible.call($trigger, key, root);\n                    } else if (typeof item.visible !== 'undefined') {\n                        visible = item.visible === true;\n                    } else {\n                        visible = true;\n                    }\n\n                    if (visible) {\n                        hasVisibleItems = true;\n                    }\n\n                    $item[visible ? 'show' : 'hide']();\n\n                    // dis- / enable item\n                    $item[disabled ? 'addClass' : 'removeClass'](root.classNames.disabled);\n\n                    if ($.isFunction(item.icon)) {\n                        $item.removeClass(item._icon);\n                        var iconResult = item.icon.call(this, $trigger, $item, key, item);\n                        if(typeof(iconResult) === \"string\"){\n                            $item.addClass(iconResult);\n                        } else {\n                            $item.prepend(iconResult);\n                        }\n                    }\n\n                    if (item.type) {\n                        // dis- / enable input elements\n                        $item.find('input, select, textarea').prop('disabled', disabled);\n\n                        // update input states\n                        switch (item.type) {\n                            case 'text':\n                            case 'textarea':\n                                item.$input.val(item.value || '');\n                                break;\n\n                            case 'checkbox':\n                            case 'radio':\n                                item.$input.val(item.value || '').prop('checked', !!item.selected);\n                                break;\n\n                            case 'select':\n                                item.$input.val((item.selected === 0 ? \"0\" : item.selected) || '');\n                                break;\n                        }\n                    }\n\n                    if (item.$menu) {\n                        // update sub-menu\n                        var subMenuHasVisibleItems = op.update.call($trigger, item, root);\n                        if (subMenuHasVisibleItems) {\n                            hasVisibleItems = true;\n                        }\n                    }\n                });\n                return hasVisibleItems;\n            },\n            layer: function (opt, zIndex) {\n                if (!opt.useModal) {\n                    var listener = function (ev) {\n                        handle.layerClick(ev, opt, function() {\n                            document.removeEventListener('mousedown', listener, true);\n                        });\n                    };\n                    document.addEventListener('mousedown', listener, true);\n                    return;\n                }\n\n                // add transparent layer for click area\n                // filter and background for Internet Explorer, Issue #23\n                var $layer = opt.$layer = $('<div id=\"context-menu-layer\"></div>')\n                    .css({\n                        height: $win.height(),\n                        width: $win.width(),\n                        display: 'block',\n                        position: 'fixed',\n                        'z-index': zIndex - 1,\n                        top: 0,\n                        left: 0,\n                        opacity: 0,\n                        filter: 'alpha(opacity=0)',\n                        'background-color': '#000'\n                    })\n                    .data('contextMenuRoot', opt)\n                    .appendTo(document.body)\n                    .on('contextmenu', handle.abortevent)\n                    .on('mousedown', handle.layerClick);\n\n                // IE6 doesn't know position:fixed;\n                if (typeof document.body.style.maxWidth === 'undefined') { // IE6 doesn't support maxWidth\n                    $layer.css({\n                        'position': 'absolute',\n                        'height': $(document).height()\n                    });\n                }\n\n                return $layer;\n            },\n            processPromises: function (opt, root, promise) {\n                // Start\n                opt.$node.addClass(root.classNames.iconLoadingClass);\n\n                function completedPromise(opt, root, items) {\n                    // Completed promise (dev called promise.resolve). We now have a list of items which can\n                    // be used to create the rest of the context menu.\n                    if (typeof items === 'undefined') {\n                        // Null result, dev should have checked\n                        errorPromise(undefined);//own error object\n                    }\n                    finishPromiseProcess(opt, root, items);\n                }\n\n                function errorPromise(opt, root, errorItem) {\n                    // User called promise.reject() with an error item, if not, provide own error item.\n                    if (typeof errorItem === 'undefined') {\n                        errorItem = {\n                            \"error\": {\n                                name: \"No items and no error item\",\n                                icon: \"context-menu-icon context-menu-icon-quit\"\n                            }\n                        };\n                        if (window.console) {\n                            (console.error || console.log).call(console, 'When you reject a promise, provide an \"items\" object, equal to normal sub-menu items');\n                        }\n                    } else if (typeof errorItem === 'string') {\n                        errorItem = {\"error\": {name: errorItem}};\n                    }\n                    finishPromiseProcess(opt, root, errorItem);\n                }\n\n                function finishPromiseProcess(opt, root, items) {\n                    if (typeof root.$menu === 'undefined' || !root.$menu.is(':visible')) {\n                        return;\n                    }\n                    opt.$node.removeClass(root.classNames.iconLoadingClass);\n                    opt.items = items;\n                    op.create(opt, root, true); // Create submenu\n                    op.update(opt, root); // Correctly update position if user is already hovered over menu item\n                    root.positionSubmenu.call(opt.$node, opt.$menu); // positionSubmenu, will only do anything if user already hovered over menu item that just got new subitems.\n                }\n\n                // Wait for promise completion. .then(success, error, notify) (we don't track notify). Bind the opt\n                // and root to avoid scope problems\n                promise.then(completedPromise.bind(this, opt, root), errorPromise.bind(this, opt, root));\n            },\n            // operation that will run after contextMenu showed on screen\n            activated: function(opt){\n                var $menu = opt.$menu;\n                var $menuOffset = $menu.offset();\n                var winHeight = $(window).height();\n                var winWidth = $(window).width();\n                var winScrollTop = $(window).scrollTop();\n                var winScrollLeft = $(window).scrollLeft();\n                var menuHeight = $menu.height();\n                var outerHeight = $menu.outerHeight();\n                var outerWidth = $menu.outerWidth();\n\n                if(menuHeight > winHeight){\n                    $menu.css({\n                        'height' : winHeight + 'px',\n                        'overflow-x': 'hidden',\n                        'overflow-y': 'auto',\n                        'top': winScrollTop + 'px'\n                    });\n                } else if($menuOffset.top < winScrollTop){\n                    $menu.css({\n                      'top': winScrollTop + 'px'\n                    });\n                } else if($menuOffset.top + outerHeight > winScrollTop + winHeight){\n                    $menu.css({\n                      'top': $menuOffset.top - (($menuOffset.top + outerHeight) - (winScrollTop + winHeight)) + \"px\"\n                    });\n                }\n                if($menuOffset.left + outerWidth > winScrollLeft + winWidth){\n                    $menu.css({\n                      'left': $menuOffset.left - (($menuOffset.left + outerWidth) - (winScrollLeft + winWidth)) + \"px\"\n                    });\n                }\n            }\n        };\n\n    // split accesskey according to http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#assigned-access-key\n    function splitAccesskey(val) {\n        var t = val.split(/\\s+/);\n        var keys = [];\n\n        for (var i = 0, k; k = t[i]; i++) {\n            k = k.charAt(0).toUpperCase(); // first character only\n            // theoretically non-accessible characters should be ignored, but different systems, different keyboard layouts, ... screw it.\n            // a map to look up already used access keys would be nice\n            keys.push(k);\n        }\n\n        return keys;\n    }\n\n// handle contextMenu triggers\n    $.fn.contextMenu = function (operation) {\n        var $t = this, $o = operation;\n        if (this.length > 0) {  // this is not a build on demand menu\n            if (typeof operation === 'undefined') {\n                this.first().trigger('contextmenu');\n            } else if (typeof operation.x !== 'undefined' && typeof operation.y !== 'undefined') {\n                this.first().trigger($.Event('contextmenu', {\n                    pageX: operation.x,\n                    pageY: operation.y,\n                    mouseButton: operation.button\n                }));\n            } else if (operation === 'hide') {\n                var $menu = this.first().data('contextMenu') ? this.first().data('contextMenu').$menu : null;\n                if ($menu) {\n                    $menu.trigger('contextmenu:hide');\n                }\n            } else if (operation === 'destroy') {\n                $.contextMenu('destroy', {context: this});\n            } else if ($.isPlainObject(operation)) {\n                operation.context = this;\n                $.contextMenu('create', operation);\n            } else if (operation) {\n                this.removeClass('context-menu-disabled');\n            } else if (!operation) {\n                this.addClass('context-menu-disabled');\n            }\n        } else {\n            $.each(menus, function () {\n                if (this.selector === $t.selector) {\n                    $o.data = this;\n\n                    $.extend($o.data, {trigger: 'demand'});\n                }\n            });\n\n            handle.contextmenu.call($o.target, $o);\n        }\n\n        return this;\n    };\n\n    // manage contextMenu instances\n    $.contextMenu = function (operation, options) {\n        if (typeof operation !== 'string') {\n            options = operation;\n            operation = 'create';\n        }\n\n        if (typeof options === 'string') {\n            options = {selector: options};\n        } else if (typeof options === 'undefined') {\n            options = {};\n        }\n\n        // merge with default options\n        var o = $.extend(true, {}, defaults, options || {});\n        var $document = $(document);\n        var $context = $document;\n        var _hasContext = false;\n\n        if (!o.context || !o.context.length) {\n            o.context = document;\n        } else {\n            // you never know what they throw at you...\n            $context = $(o.context).first();\n            o.context = $context.get(0);\n            _hasContext = !$(o.context).is(document);\n        }\n\n        switch (operation) {\n\n            case 'update':\n                // Updates visibility and such\n                if(_hasContext){\n                    op.update($context);\n                } else {\n                    for(var menu in menus){\n                        if(menus.hasOwnProperty(menu)){\n                            op.update(menus[menu]);\n                        }\n                    }\n                }\n                break;\n\n            case 'create':\n                // no selector no joy\n                if (!o.selector) {\n                    throw new Error('No selector specified');\n                }\n                // make sure internal classes are not bound to\n                if (o.selector.match(/.context-menu-(list|item|input)($|\\s)/)) {\n                    throw new Error('Cannot bind to selector \"' + o.selector + '\" as it contains a reserved className');\n                }\n                if (!o.build && (!o.items || $.isEmptyObject(o.items))) {\n                    throw new Error('No Items specified');\n                }\n                counter++;\n                o.ns = '.contextMenu' + counter;\n                if (!_hasContext) {\n                    namespaces[o.selector] = o.ns;\n                }\n                menus[o.ns] = o;\n\n                // default to right click\n                if (!o.trigger) {\n                    o.trigger = 'right';\n                }\n\n                if (!initialized) {\n                    var itemClick = o.itemClickEvent === 'click' ? 'click.contextMenu' : 'mouseup.contextMenu';\n                    var contextMenuItemObj = {\n                        // 'mouseup.contextMenu': handle.itemClick,\n                        // 'click.contextMenu': handle.itemClick,\n                        'contextmenu:focus.contextMenu': handle.focusItem,\n                        'contextmenu:blur.contextMenu': handle.blurItem,\n                        'contextmenu.contextMenu': handle.abortevent,\n                        'mouseenter.contextMenu': handle.itemMouseenter,\n                        'mouseleave.contextMenu': handle.itemMouseleave\n                    };\n                    contextMenuItemObj[itemClick] = handle.itemClick;\n                    // make sure item click is registered first\n                    $document\n                        .on({\n                            'contextmenu:hide.contextMenu': handle.hideMenu,\n                            'prevcommand.contextMenu': handle.prevItem,\n                            'nextcommand.contextMenu': handle.nextItem,\n                            'contextmenu.contextMenu': handle.abortevent,\n                            'mouseenter.contextMenu': handle.menuMouseenter,\n                            'mouseleave.contextMenu': handle.menuMouseleave\n                        }, '.context-menu-list')\n                        .on('mouseup.contextMenu', '.context-menu-input', handle.inputClick)\n                        .on(contextMenuItemObj, '.context-menu-item');\n\n                    initialized = true;\n                }\n\n                // engage native contextmenu event\n                $context\n                    .on('contextmenu' + o.ns, o.selector, o, handle.contextmenu);\n\n                if (_hasContext) {\n                    // add remove hook, just in case\n                    $context.on('remove' + o.ns, function () {\n                        $(this).contextMenu('destroy');\n                    });\n                }\n\n                switch (o.trigger) {\n                    case 'hover':\n                        $context\n                            .on('mouseenter' + o.ns, o.selector, o, handle.mouseenter)\n                            .on('mouseleave' + o.ns, o.selector, o, handle.mouseleave);\n                        break;\n\n                    case 'left':\n                        $context.on('click' + o.ns, o.selector, o, handle.click);\n                        break;\n\t\t\t\t    case 'touchstart':\n                        $context.on('touchstart' + o.ns, o.selector, o, handle.click);\n                        break;\n                    /*\n                     default:\n                     // http://www.quirksmode.org/dom/events/contextmenu.html\n                     $document\n                     .on('mousedown' + o.ns, o.selector, o, handle.mousedown)\n                     .on('mouseup' + o.ns, o.selector, o, handle.mouseup);\n                     break;\n                     */\n                }\n\n                // create menu\n                if (!o.build) {\n                    op.create(o);\n                }\n                break;\n\n            case 'destroy':\n                var $visibleMenu;\n                if (_hasContext) {\n                    // get proper options\n                    var context = o.context;\n                    $.each(menus, function (ns, o) {\n\n                        if (!o) {\n                            return true;\n                        }\n\n                        // Is this menu equest to the context called from\n                        if (!$(context).is(o.selector)) {\n                            return true;\n                        }\n\n                        $visibleMenu = $('.context-menu-list').filter(':visible');\n                        if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {\n                            $visibleMenu.trigger('contextmenu:hide', {force: true});\n                        }\n\n                        try {\n                            if (menus[o.ns].$menu) {\n                                menus[o.ns].$menu.remove();\n                            }\n\n                            delete menus[o.ns];\n                        } catch (e) {\n                            menus[o.ns] = null;\n                        }\n\n                        $(o.context).off(o.ns);\n\n                        return true;\n                    });\n                } else if (!o.selector) {\n                    $document.off('.contextMenu .contextMenuAutoHide');\n                    $.each(menus, function (ns, o) {\n                        $(o.context).off(o.ns);\n                    });\n\n                    namespaces = {};\n                    menus = {};\n                    counter = 0;\n                    initialized = false;\n\n                    $('#context-menu-layer, .context-menu-list').remove();\n                } else if (namespaces[o.selector]) {\n                    $visibleMenu = $('.context-menu-list').filter(':visible');\n                    if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {\n                        $visibleMenu.trigger('contextmenu:hide', {force: true});\n                    }\n\n                    try {\n                        if (menus[namespaces[o.selector]].$menu) {\n                            menus[namespaces[o.selector]].$menu.remove();\n                        }\n\n                        delete menus[namespaces[o.selector]];\n                    } catch (e) {\n                        menus[namespaces[o.selector]] = null;\n                    }\n\n                    $document.off(namespaces[o.selector]);\n                }\n                break;\n\n            case 'html5':\n                // if <command> and <menuitem> are not handled by the browser,\n                // or options was a bool true,\n                // initialize $.contextMenu for them\n                if ((!$.support.htmlCommand && !$.support.htmlMenuitem) || (typeof options === 'boolean' && options)) {\n                    $('menu[type=\"context\"]').each(function () {\n                        if (this.id) {\n                            $.contextMenu({\n                                selector: '[contextmenu=' + this.id + ']',\n                                items: $.contextMenu.fromMenu(this)\n                            });\n                        }\n                    }).css('display', 'none');\n                }\n                break;\n\n            default:\n                throw new Error('Unknown operation \"' + operation + '\"');\n        }\n\n        return this;\n    };\n\n// import values into <input> commands\n    $.contextMenu.setInputValues = function (opt, data) {\n        if (typeof data === 'undefined') {\n            data = {};\n        }\n\n        $.each(opt.inputs, function (key, item) {\n            switch (item.type) {\n                case 'text':\n                case 'textarea':\n                    item.value = data[key] || '';\n                    break;\n\n                case 'checkbox':\n                    item.selected = data[key] ? true : false;\n                    break;\n\n                case 'radio':\n                    item.selected = (data[item.radio] || '') === item.value;\n                    break;\n\n                case 'select':\n                    item.selected = data[key] || '';\n                    break;\n            }\n        });\n    };\n\n// export values from <input> commands\n    $.contextMenu.getInputValues = function (opt, data) {\n        if (typeof data === 'undefined') {\n            data = {};\n        }\n\n        $.each(opt.inputs, function (key, item) {\n            switch (item.type) {\n                case 'text':\n                case 'textarea':\n                case 'select':\n                    data[key] = item.$input.val();\n                    break;\n\n                case 'checkbox':\n                    data[key] = item.$input.prop('checked');\n                    break;\n\n                case 'radio':\n                    if (item.$input.prop('checked')) {\n                        data[item.radio] = item.value;\n                    }\n                    break;\n            }\n        });\n\n        return data;\n    };\n\n// find <label for=\"xyz\">\n    function inputLabel(node) {\n        return (node.id && $('label[for=\"' + node.id + '\"]').val()) || node.name;\n    }\n\n// convert <menu> to items object\n    function menuChildren(items, $children, counter) {\n        if (!counter) {\n            counter = 0;\n        }\n\n        $children.each(function () {\n            var $node = $(this),\n                node = this,\n                nodeName = this.nodeName.toLowerCase(),\n                label,\n                item;\n\n            // extract <label><input>\n            if (nodeName === 'label' && $node.find('input, textarea, select').length) {\n                label = $node.text();\n                $node = $node.children().first();\n                node = $node.get(0);\n                nodeName = node.nodeName.toLowerCase();\n            }\n\n            /*\n             * <menu> accepts flow-content as children. that means <embed>, <canvas> and such are valid menu items.\n             * Not being the sadistic kind, $.contextMenu only accepts:\n             * <command>, <menuitem>, <hr>, <span>, <p> <input [text, radio, checkbox]>, <textarea>, <select> and of course <menu>.\n             * Everything else will be imported as an html node, which is not interfaced with contextMenu.\n             */\n\n            // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#concept-command\n            switch (nodeName) {\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element\n                case 'menu':\n                    item = {name: $node.attr('label'), items: {}};\n                    counter = menuChildren(item.items, $node.children(), counter);\n                    break;\n\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-a-element-to-define-a-command\n                case 'a':\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-button-element-to-define-a-command\n                case 'button':\n                    item = {\n                        name: $node.text(),\n                        disabled: !!$node.attr('disabled'),\n                        callback: (function () {\n                            return function (itemKey, opt, ev) {\n                                if ($node.get(0).onclick !== null) {\n                                    $node.get(0).click();\n                                } else {\n                                    opt.callback(itemKey, opt, ev);\n                                }\n                            };\n                        })()\n                    };\n                    break;\n\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-command-element-to-define-a-command\n                case 'menuitem':\n                case 'command':\n                    switch ($node.attr('type')) {\n                        case undefined:\n                        case 'command':\n                        case 'menuitem':\n                            item = {\n                                name: $node.attr('label'),\n                                disabled: !!$node.attr('disabled'),\n                                icon: $node.attr('icon'),\n                                callback: (function () {\n                                    return function (itemKey, opt, ev) {\n                                        if ($node.get(0).onclick !== null) {\n                                            $node.get(0).click();\n                                        } else {\n                                            opt.callback(itemKey, opt, ev);\n                                        }\n                                    };\n                                })()\n                            };\n                            break;\n\n                        case 'checkbox':\n                            item = {\n                                type: 'checkbox',\n                                disabled: !!$node.attr('disabled'),\n                                name: $node.attr('label'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n                        case 'radio':\n                            item = {\n                                type: 'radio',\n                                disabled: !!$node.attr('disabled'),\n                                name: $node.attr('label'),\n                                radio: $node.attr('radiogroup'),\n                                value: $node.attr('id'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        default:\n                            item = undefined;\n                    }\n                    break;\n\n                case 'hr':\n                    item = '-------';\n                    break;\n\n                case 'input':\n                    switch ($node.attr('type')) {\n                        case 'text':\n                            item = {\n                                type: 'text',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                value: $node.val()\n                            };\n                            break;\n\n                        case 'checkbox':\n                            item = {\n                                type: 'checkbox',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        case 'radio':\n                            item = {\n                                type: 'radio',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                radio: !!$node.attr('name'),\n                                value: $node.val(),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        default:\n                            item = undefined;\n                            break;\n                    }\n                    break;\n\n                case 'select':\n                    item = {\n                        type: 'select',\n                        name: label || inputLabel(node),\n                        disabled: !!$node.attr('disabled'),\n                        selected: $node.val(),\n                        options: {}\n                    };\n                    $node.children().each(function () {\n                        item.options[this.value] = $(this).text();\n                    });\n                    break;\n\n                case 'textarea':\n                    item = {\n                        type: 'textarea',\n                        name: label || inputLabel(node),\n                        disabled: !!$node.attr('disabled'),\n                        value: $node.val()\n                    };\n                    break;\n\n                case 'label':\n                    break;\n\n                default:\n                    item = {type: 'html', html: $node.clone(true)};\n                    break;\n            }\n\n            if (item) {\n                counter++;\n                items['key' + counter] = item;\n            }\n        });\n\n        return counter;\n    }\n\n// convert html5 menu\n    $.contextMenu.fromMenu = function (element) {\n        var $this = $(element),\n            items = {};\n\n        menuChildren(items, $this.children());\n\n        return items;\n    };\n\n// make defaults accessible\n    $.contextMenu.defaults = defaults;\n    $.contextMenu.types = types;\n// export internal functions - undocumented, for hacking only!\n    $.contextMenu.handle = handle;\n    $.contextMenu.op = op;\n    $.contextMenu.menus = menus;\n\n});\n"
  },
  {
    "path": "dist/jquery.ui.position.js",
    "content": "/*! jQuery UI - v1.12.1 - 2016-09-16\n * http://jqueryui.com\n * Includes: position.js\n * Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n    if ( typeof define === \"function\" && define.amd ) {\n\n        // AMD. Register as an anonymous module.\n        define([ \"jquery\" ], factory );\n    } else {\n\n        // Browser globals\n        factory( jQuery );\n    }\n}(function( $ ) {\n\n    $.ui = $.ui || {};\n\n    var version = $.ui.version = \"1.12.1\";\n\n\n    /*!\n     * jQuery UI Position 1.12.1\n     * http://jqueryui.com\n     *\n     * Copyright jQuery Foundation and other contributors\n     * Released under the MIT license.\n     * http://jquery.org/license\n     *\n     * http://api.jqueryui.com/position/\n     */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n    ( function() {\n        var cachedScrollbarWidth,\n            max = Math.max,\n            abs = Math.abs,\n            rhorizontal = /left|center|right/,\n            rvertical = /top|center|bottom/,\n            roffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n            rposition = /^\\w+/,\n            rpercent = /%$/,\n            _position = $.fn.position;\n\n        function getOffsets( offsets, width, height ) {\n            return [\n                parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n                parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n            ];\n        }\n\n        function parseCss( element, property ) {\n            return parseInt( $.css( element, property ), 10 ) || 0;\n        }\n\n        function getDimensions( elem ) {\n            var raw = elem[ 0 ];\n            if ( raw.nodeType === 9 ) {\n                return {\n                    width: elem.width(),\n                    height: elem.height(),\n                    offset: { top: 0, left: 0 }\n                };\n            }\n            if ( $.isWindow( raw ) ) {\n                return {\n                    width: elem.width(),\n                    height: elem.height(),\n                    offset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n                };\n            }\n            if ( raw.preventDefault ) {\n                return {\n                    width: 0,\n                    height: 0,\n                    offset: { top: raw.pageY, left: raw.pageX }\n                };\n            }\n            return {\n                width: elem.outerWidth(),\n                height: elem.outerHeight(),\n                offset: elem.offset()\n            };\n        }\n\n        $.position = {\n            scrollbarWidth: function() {\n                if ( cachedScrollbarWidth !== undefined ) {\n                    return cachedScrollbarWidth;\n                }\n                var w1, w2,\n                    div = $( \"<div \" +\n                        \"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>\" +\n                        \"<div style='height:100px;width:auto;'></div></div>\" ),\n                    innerDiv = div.children()[ 0 ];\n\n                $( \"body\" ).append( div );\n                w1 = innerDiv.offsetWidth;\n                div.css( \"overflow\", \"scroll\" );\n\n                w2 = innerDiv.offsetWidth;\n\n                if ( w1 === w2 ) {\n                    w2 = div[ 0 ].clientWidth;\n                }\n\n                div.remove();\n\n                return ( cachedScrollbarWidth = w1 - w2 );\n            },\n            getScrollInfo: function( within ) {\n                var overflowX = within.isWindow || within.isDocument ? \"\" :\n                        within.element.css( \"overflow-x\" ),\n                    overflowY = within.isWindow || within.isDocument ? \"\" :\n                        within.element.css( \"overflow-y\" ),\n                    hasOverflowX = overflowX === \"scroll\" ||\n                        ( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n                    hasOverflowY = overflowY === \"scroll\" ||\n                        ( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n                return {\n                    width: hasOverflowY ? $.position.scrollbarWidth() : 0,\n                    height: hasOverflowX ? $.position.scrollbarWidth() : 0\n                };\n            },\n            getWithinInfo: function( element ) {\n                var withinElement = $( element || window ),\n                    isWindow = $.isWindow( withinElement[ 0 ] ),\n                    isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n                    hasOffset = !isWindow && !isDocument;\n                return {\n                    element: withinElement,\n                    isWindow: isWindow,\n                    isDocument: isDocument,\n                    offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n                    scrollLeft: withinElement.scrollLeft(),\n                    scrollTop: withinElement.scrollTop(),\n                    width: withinElement.outerWidth(),\n                    height: withinElement.outerHeight()\n                };\n            }\n        };\n\n        $.fn.position = function( options ) {\n            if ( !options || !options.of ) {\n                return _position.apply( this, arguments );\n            }\n\n            // Make a copy, we don't want to modify arguments\n            options = $.extend( {}, options );\n\n            var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n                target = $( options.of ),\n                within = $.position.getWithinInfo( options.within ),\n                scrollInfo = $.position.getScrollInfo( within ),\n                collision = ( options.collision || \"flip\" ).split( \" \" ),\n                offsets = {};\n\n            dimensions = getDimensions( target );\n            if ( target[ 0 ].preventDefault ) {\n\n                // Force left top to allow flipping\n                options.at = \"left top\";\n            }\n            targetWidth = dimensions.width;\n            targetHeight = dimensions.height;\n            targetOffset = dimensions.offset;\n\n            // Clone to reuse original targetOffset later\n            basePosition = $.extend( {}, targetOffset );\n\n            // Force my and at to have valid horizontal and vertical positions\n            // if a value is missing or invalid, it will be converted to center\n            $.each( [ \"my\", \"at\" ], function() {\n                var pos = ( options[ this ] || \"\" ).split( \" \" ),\n                    horizontalOffset,\n                    verticalOffset;\n\n                if ( pos.length === 1 ) {\n                    pos = rhorizontal.test( pos[ 0 ] ) ?\n                        pos.concat( [ \"center\" ] ) :\n                        rvertical.test( pos[ 0 ] ) ?\n                            [ \"center\" ].concat( pos ) :\n                            [ \"center\", \"center\" ];\n                }\n                pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n                pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n                // Calculate offsets\n                horizontalOffset = roffset.exec( pos[ 0 ] );\n                verticalOffset = roffset.exec( pos[ 1 ] );\n                offsets[ this ] = [\n                    horizontalOffset ? horizontalOffset[ 0 ] : 0,\n                    verticalOffset ? verticalOffset[ 0 ] : 0\n                ];\n\n                // Reduce to just the positions without the offsets\n                options[ this ] = [\n                    rposition.exec( pos[ 0 ] )[ 0 ],\n                    rposition.exec( pos[ 1 ] )[ 0 ]\n                ];\n            } );\n\n            // Normalize collision option\n            if ( collision.length === 1 ) {\n                collision[ 1 ] = collision[ 0 ];\n            }\n\n            if ( options.at[ 0 ] === \"right\" ) {\n                basePosition.left += targetWidth;\n            } else if ( options.at[ 0 ] === \"center\" ) {\n                basePosition.left += targetWidth / 2;\n            }\n\n            if ( options.at[ 1 ] === \"bottom\" ) {\n                basePosition.top += targetHeight;\n            } else if ( options.at[ 1 ] === \"center\" ) {\n                basePosition.top += targetHeight / 2;\n            }\n\n            atOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n            basePosition.left += atOffset[ 0 ];\n            basePosition.top += atOffset[ 1 ];\n\n            return this.each( function() {\n                var collisionPosition, using,\n                    elem = $( this ),\n                    elemWidth = elem.outerWidth(),\n                    elemHeight = elem.outerHeight(),\n                    marginLeft = parseCss( this, \"marginLeft\" ),\n                    marginTop = parseCss( this, \"marginTop\" ),\n                    collisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n                        scrollInfo.width,\n                    collisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n                        scrollInfo.height,\n                    position = $.extend( {}, basePosition ),\n                    myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n                if ( options.my[ 0 ] === \"right\" ) {\n                    position.left -= elemWidth;\n                } else if ( options.my[ 0 ] === \"center\" ) {\n                    position.left -= elemWidth / 2;\n                }\n\n                if ( options.my[ 1 ] === \"bottom\" ) {\n                    position.top -= elemHeight;\n                } else if ( options.my[ 1 ] === \"center\" ) {\n                    position.top -= elemHeight / 2;\n                }\n\n                position.left += myOffset[ 0 ];\n                position.top += myOffset[ 1 ];\n\n                collisionPosition = {\n                    marginLeft: marginLeft,\n                    marginTop: marginTop\n                };\n\n                $.each( [ \"left\", \"top\" ], function( i, dir ) {\n                    if ( $.ui.position[ collision[ i ] ] ) {\n                        $.ui.position[ collision[ i ] ][ dir ]( position, {\n                            targetWidth: targetWidth,\n                            targetHeight: targetHeight,\n                            elemWidth: elemWidth,\n                            elemHeight: elemHeight,\n                            collisionPosition: collisionPosition,\n                            collisionWidth: collisionWidth,\n                            collisionHeight: collisionHeight,\n                            offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n                            my: options.my,\n                            at: options.at,\n                            within: within,\n                            elem: elem\n                        } );\n                    }\n                } );\n\n                if ( options.using ) {\n\n                    // Adds feedback as second argument to using callback, if present\n                    using = function( props ) {\n                        var left = targetOffset.left - position.left,\n                            right = left + targetWidth - elemWidth,\n                            top = targetOffset.top - position.top,\n                            bottom = top + targetHeight - elemHeight,\n                            feedback = {\n                                target: {\n                                    element: target,\n                                    left: targetOffset.left,\n                                    top: targetOffset.top,\n                                    width: targetWidth,\n                                    height: targetHeight\n                                },\n                                element: {\n                                    element: elem,\n                                    left: position.left,\n                                    top: position.top,\n                                    width: elemWidth,\n                                    height: elemHeight\n                                },\n                                horizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n                                vertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n                            };\n                        if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n                            feedback.horizontal = \"center\";\n                        }\n                        if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n                            feedback.vertical = \"middle\";\n                        }\n                        if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n                            feedback.important = \"horizontal\";\n                        } else {\n                            feedback.important = \"vertical\";\n                        }\n                        options.using.call( this, props, feedback );\n                    };\n                }\n\n                elem.offset( $.extend( position, { using: using } ) );\n            } );\n        };\n\n        $.ui.position = {\n            fit: {\n                left: function( position, data ) {\n                    var within = data.within,\n                        withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n                        outerWidth = within.width,\n                        collisionPosLeft = position.left - data.collisionPosition.marginLeft,\n                        overLeft = withinOffset - collisionPosLeft,\n                        overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n                        newOverRight;\n\n                    // Element is wider than within\n                    if ( data.collisionWidth > outerWidth ) {\n\n                        // Element is initially over the left side of within\n                        if ( overLeft > 0 && overRight <= 0 ) {\n                            newOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n                                withinOffset;\n                            position.left += overLeft - newOverRight;\n\n                            // Element is initially over right side of within\n                        } else if ( overRight > 0 && overLeft <= 0 ) {\n                            position.left = withinOffset;\n\n                            // Element is initially over both left and right sides of within\n                        } else {\n                            if ( overLeft > overRight ) {\n                                position.left = withinOffset + outerWidth - data.collisionWidth;\n                            } else {\n                                position.left = withinOffset;\n                            }\n                        }\n\n                        // Too far left -> align with left edge\n                    } else if ( overLeft > 0 ) {\n                        position.left += overLeft;\n\n                        // Too far right -> align with right edge\n                    } else if ( overRight > 0 ) {\n                        position.left -= overRight;\n\n                        // Adjust based on position and margin\n                    } else {\n                        position.left = max( position.left - collisionPosLeft, position.left );\n                    }\n                },\n                top: function( position, data ) {\n                    var within = data.within,\n                        withinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n                        outerHeight = data.within.height,\n                        collisionPosTop = position.top - data.collisionPosition.marginTop,\n                        overTop = withinOffset - collisionPosTop,\n                        overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n                        newOverBottom;\n\n                    // Element is taller than within\n                    if ( data.collisionHeight > outerHeight ) {\n\n                        // Element is initially over the top of within\n                        if ( overTop > 0 && overBottom <= 0 ) {\n                            newOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n                                withinOffset;\n                            position.top += overTop - newOverBottom;\n\n                            // Element is initially over bottom of within\n                        } else if ( overBottom > 0 && overTop <= 0 ) {\n                            position.top = withinOffset;\n\n                            // Element is initially over both top and bottom of within\n                        } else {\n                            if ( overTop > overBottom ) {\n                                position.top = withinOffset + outerHeight - data.collisionHeight;\n                            } else {\n                                position.top = withinOffset;\n                            }\n                        }\n\n                        // Too far up -> align with top\n                    } else if ( overTop > 0 ) {\n                        position.top += overTop;\n\n                        // Too far down -> align with bottom edge\n                    } else if ( overBottom > 0 ) {\n                        position.top -= overBottom;\n\n                        // Adjust based on position and margin\n                    } else {\n                        position.top = max( position.top - collisionPosTop, position.top );\n                    }\n                }\n            },\n            flip: {\n                left: function( position, data ) {\n                    var within = data.within,\n                        withinOffset = within.offset.left + within.scrollLeft,\n                        outerWidth = within.width,\n                        offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n                        collisionPosLeft = position.left - data.collisionPosition.marginLeft,\n                        overLeft = collisionPosLeft - offsetLeft,\n                        overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n                        myOffset = data.my[ 0 ] === \"left\" ?\n                            -data.elemWidth :\n                            data.my[ 0 ] === \"right\" ?\n                                data.elemWidth :\n                                0,\n                        atOffset = data.at[ 0 ] === \"left\" ?\n                            data.targetWidth :\n                            data.at[ 0 ] === \"right\" ?\n                                -data.targetWidth :\n                                0,\n                        offset = -2 * data.offset[ 0 ],\n                        newOverRight,\n                        newOverLeft;\n\n                    if ( overLeft < 0 ) {\n                        newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n                            outerWidth - withinOffset;\n                        if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n                            position.left += myOffset + atOffset + offset;\n                        }\n                    } else if ( overRight > 0 ) {\n                        newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n                            atOffset + offset - offsetLeft;\n                        if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n                            position.left += myOffset + atOffset + offset;\n                        }\n                    }\n                },\n                top: function( position, data ) {\n                    var within = data.within,\n                        withinOffset = within.offset.top + within.scrollTop,\n                        outerHeight = within.height,\n                        offsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n                        collisionPosTop = position.top - data.collisionPosition.marginTop,\n                        overTop = collisionPosTop - offsetTop,\n                        overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n                        top = data.my[ 1 ] === \"top\",\n                        myOffset = top ?\n                            -data.elemHeight :\n                            data.my[ 1 ] === \"bottom\" ?\n                                data.elemHeight :\n                                0,\n                        atOffset = data.at[ 1 ] === \"top\" ?\n                            data.targetHeight :\n                            data.at[ 1 ] === \"bottom\" ?\n                                -data.targetHeight :\n                                0,\n                        offset = -2 * data.offset[ 1 ],\n                        newOverTop,\n                        newOverBottom;\n                    if ( overTop < 0 ) {\n                        newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n                            outerHeight - withinOffset;\n                        if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n                            position.top += myOffset + atOffset + offset;\n                        }\n                    } else if ( overBottom > 0 ) {\n                        newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n                            offset - offsetTop;\n                        if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n                            position.top += myOffset + atOffset + offset;\n                        }\n                    }\n                }\n            },\n            flipfit: {\n                left: function() {\n                    $.ui.position.flip.left.apply( this, arguments );\n                    $.ui.position.fit.left.apply( this, arguments );\n                },\n                top: function() {\n                    $.ui.position.flip.top.apply( this, arguments );\n                    $.ui.position.fit.top.apply( this, arguments );\n                }\n            }\n        };\n\n    } )();\n\n    var position = $.ui.position;\n\n\n\n\n}));"
  },
  {
    "path": "documentation/CONTRIBUTE.md",
    "content": "To generate documentation install couscous and run in this folder. Use ```couscous preview``` to run local server with the documentation.\n\nhttp://couscous.io/docs/getting-started.html\n\nThe generated html will also be copied to the tests/integration/html folder for integration tests."
  },
  {
    "path": "documentation/couscous.yml",
    "content": "title: jQuery contextMenu (2.x)\nsubTitle: Management facility for context menus. Developed for a large number of triggering objects. HTML5 Polyfill.\n\n#template:\n#  url: https://github.com/CouscousPHP/Template-ReadTheDocs\n\nexclude:\n  - website\n  - website-dark\n\nbaseUrl: https://swisnl.github.io/jQuery-contextMenu\nscripts:\n  before:\n    - mkdir website/dist\n    - cp -R ../dist/* website/dist/\n    - git clone -b gh-pages https://github.com/swisnl/jQuery-contextMenu docs-3x\n    - cp -R docs-3x/3.x website/\n  after:\n    - rm -rf website/dist/\n    - rm -rf docs-3x/\n    - cp .couscous/generated/demo/* ../test/integration/html\n\n\ngithub:\n  user: swisnl\n  repo: jQuery-contextMenu\n\n# The left menu bar\nmenu:\n    items:\n        introduction:\n            text: Introduction\n            relativeUrl: /\n            items:\n                author:\n                    text: Author\n                    absoluteUrl: https://www.swis.nl/over-ons/bjorn-brala\n                demo:\n                    text: Demo\n                    # You can use relative urls\n                    relativeUrl: demo.html\n        documentation:\n            text: Documentation\n            relativeUrl: docs.html\n            items:\n                options:\n                    text: Options\n                    relativeUrl: docs.html\n                items:\n                    text: Defining menu items\n                    relativeUrl: docs/items.html\n                plugin-commands:\n                    text: Plugin commands\n                    relativeUrl: docs/plugin-commands.html\n                custom-icons:\n                    text: Customize icons\n                    relativeUrl: docs/customize.html\n                fontawesome-icons:\n                    text: FontAwesome icons\n                    relativeUrl: demo/fontawesome-icons.html\n                font-awesome:\n                    text: Font Awesome support\n                    relativeUrl: docs/font-awesome.html\n                runtime-options:\n                    text: Runtime options\n                    relativeUrl: docs/runtime-options.html\n                custom-command-types:\n                    text: Custom command types\n                    relativeUrl: docs/custom-command-types.html\n                events:\n                    text: Events\n                    relativeUrl: docs/events.html\n                html5-polyfill-docs:\n                    text: HTML5 polyfill\n                    relativeUrl: docs/html5-polyfill.html\n        demo-gallery:\n            text: Demo gallery\n            relativeUrl: demo.html\n            items:\n              simple-context-menu:\n                  text: Simple Context Menu\n                  relativeUrl: demo.html\n              fontawesome-icons:\n                  text: FontAwesome icons\n                  relativeUrl: demo/fontawesome-icons.html\n              accesskeys:\n                  text: Accesskeys\n                  relativeUrl: demo/accesskeys.html\n              async-create:\n                  text: Create Context Menu (asynchronous)\n                  relativeUrl: demo/async-create.html\n              async-promise:\n                  text: Create Context Menu (promise)\n                  relativeUrl: demo/async-promise.html\n              callback:\n                  text: Command's action (callbacks)\n                  relativeUrl: demo/callback.html\n              custom-command:\n                  text: Custom Command Types\n                  relativeUrl: demo/custom-command.html\n              disabled:\n                  text: Disabled Command\n                  relativeUrl: demo/disabled.html\n              disabled-callback:\n                  text: Disabled Callback Command\n                  relativeUrl: demo/disabled-callback.html\n              disabled-changing:\n                  text: Changing Command's disabled status\n                  relativeUrl: demo/disabled-changing.html\n              disabled-menu:\n                  text: Disabled Menu\n                  relativeUrl: demo/disabled-menu.html\n              dynamic:\n                  text: Adding new Context Menu Triggers\n                  relativeUrl: demo/dynamic.html\n              dynamic-create:\n                  text: Create Context Menu on demand\n                  relativeUrl: demo/dynamic-create.html\n              html5-import:\n                  text: Importing HTML5 menu\n                  relativeUrl: demo/html5-import.html\n              html5-polyfill:\n                  text: HTML5 polyfill\n                  relativeUrl: demo/html5-polyfill.html\n              html5-polyfill-firefox8:\n                  text: HTML5 polyfill (Firefox)\n                  relativeUrl: demo/html5-polyfill-firefox8.html\n              input:\n                  text: Input Commands\n                  relativeUrl: demo/input.html\n              keeping-contextmenu-open:\n                  text: Keeping the context menu open\n                  relativeUrl: demo/keeping-contextmenu-open.html\n              menu-title:\n                  text: Menus with titles\n                  relativeUrl: demo/menu-title.html\n              on-dom-element:\n                  text: Context Menu on DOM Element\n                  relativeUrl: demo/on-dom-element.html\n              sub-menus:\n                  text: Submenus\n                  relativeUrl: demo/sub-menus.html\n              trigger-custom:\n                  text: Custom Activated Context Menu\n                  relativeUrl: demo/trigger-custom.html\n              trigger-hover:\n                  text: Hover Activated Context Menu\n                  relativeUrl: demo/trigger-hover.html\n              trigger-hover-autohide:\n                  text: Hover Activated Context Menu With Autohide\n                  relativeUrl: demo/trigger-hover-autohide.html\n              trigger-left-click:\n                  text: Left-Click Trigger\n                  relativeUrl: demo/trigger-left-click.html\n              trigger-swipe:\n                  text: Swipe Trigger\n                  relativeUrl: demo/trigger-swipe.html                \n"
  },
  {
    "path": "documentation/demo/accesskeys.md",
    "content": "---\ncurrentMenu: accesskeys\n---\n\n# Demo: Accesskeys\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\", accesskey: \"e\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\", accesskey: \"c\"},\n            // first unused character is taken (here: o)\n            \"copy\": {name: \"Copy\", icon: \"copy\", accesskey: \"c o p y\"},\n            // words are truncated to their first letter (here: p)\n            \"paste\": {name: \"Paste\", icon: \"paste\", accesskey: \"cool paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/accesskeys_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Accesskeys](#demo-accesskeys)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Accesskeys\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\", accesskey: \"e\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\", accesskey: \"c\"},\n            // first unused character is taken (here: o)\n            \"copy\": {name: \"Copy\", icon: \"copy\", accesskey: \"c o p y\"},\n            // words are truncated to their first letter (here: p)\n            \"paste\": {name: \"Paste\", icon: \"paste\", accesskey: \"cool paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>"
  },
  {
    "path": "documentation/demo/async-create.md",
    "content": "---\ncurrentMenu: async-create \n---\n\n# Demo: Create Context Menu (asynchronous)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // some build handler to call asynchronously\n    function createSomeMenu() {\n        return {\n            callback: function(key, options) {\n                var m = \"clicked: \" + key;\n                window.console && console.log(m) || alert(m);\n            },\n            items: {\n                \"edit\": {name: \"Edit\", icon: \"edit\"},\n                \"cut\": {name: \"Cut\", icon: \"cut\"},\n                \"copy\": {name: \"Copy\", icon: \"copy\"}\n            }\n        };\n    }\n\n    // some asynchronous click handler\n    $('.context-menu-one').on('mouseup', function(e){\n        var $this = $(this);\n        // store a callback on the trigger\n        $this.data('runCallbackThingie', createSomeMenu);\n        var _offset = $this.offset(),\n            position = {\n                x: _offset.left + 10, \n                y: _offset.top + 10\n            }\n        // open the contextMenu asynchronously\n        setTimeout(function(){ $this.contextMenu(position); }, 1000);\n    });\n\n    // setup context menu\n    $.contextMenu({\n        selector: '.context-menu-one',\n        trigger: 'none',\n        build: function($trigger, e) {\n            e.preventDefault();\n        \n            // pull a callback from the trigger\n            return $trigger.data('runCallbackThingie')();\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/async-promise.md",
    "content": "---\ncurrentMenu: async-promise \n---\n\n# Demo: Submenu through promise (asynchronous)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n    var $ = jQuery;\n    $(document).ready(function () {\n        'use strict';\n        var errorItems = { \"errorItem\": { name: \"Items Load error\" },};\n        var loadItems = function () {\n            var dfd = jQuery.Deferred();\n            setTimeout(function () {\n                dfd.resolve(subItems);\n            }, 2000);\n            //setTimeout(function () {\n            //    dfd.reject(errorItems);\n            //}, 1000);\n            return dfd.promise();\n        };\n\n        var subItems = {\n            \"sub1\": { name: \"Submenu1\", icon: \"edit\" },\n            \"sub2\": { name: \"Submenu2\", icon: \"cut\" },\n        };\n\n        $.contextMenu({\n            selector: '.context-menu-one',\n            build: function ($trigger, e) {\n                return {\n                    callback: function (key, options) {\n                        var m = \"clicked: \" + key;\n                        console.log(m);\n                    },\n                    items: {\n                        \"edit\": { name: \"Edit\", icon: \"edit\" },\n                        \"cut\": { name: \"Cut\", icon: \"cut\" },\n                        \"status\": {\n                            name: \"Status\",\n                            icon: \"delete\",\n                            items: loadItems(),\n                        },\n                        \"normalSub\": {\n                            name: \"Normal Sub\",\n                            items: {\n                                \"normalsub1\": { name: \"normal Sub 1\"},\n                                \"normalsub2\": { name: \"normal Sub 2\"},\n                                \"normalsub3\": { name: \"normal Sub 3\" },\n                            }\n                        }\n                    }\n                };\n            }\n        });\n\n        //normal promise usage example\n        var completedPromise = function (status) {\n            console.log(\"completed promise:\", status);\n        };\n\n        var failPromise = function (status) {\n            console.log(\"fail promise:\", status);\n        };\n\n        var notifyPromise = function (status) {\n            console.log(\"notify promise:\", status);\n        };\n\n        $.loadItemsAsync = function() {\n            console.log(\"loadItemsAsync\");\n            var promise = loadItems();\n            $.when(promise).then(completedPromise, failPromise, notifyPromise);\n        };\n\n    });\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/callback.md",
    "content": "---\ncurrentMenu: callback \n---\n\n# Demo: Callback\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(itemKey, opt, e) {\n            var m = \"global: \" + itemKey;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Edit\", \n                icon: \"edit\", \n                // superseeds \"global\" callback\n                callback: function(itemKey, opt, e) {\n                    var m = \"edit was clicked\";\n                    window.console && console.log(m) || alert(m); \n                }\n            },\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/callback_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Callback](#demo-callback)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Callback\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"global: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {\n                name: \"Edit\", \n                icon: \"edit\", \n                // superseeds \"global\" callback\n                callback: function(key, options) {\n                    var m = \"edit was clicked\";\n                    $('#msg').text(m); \n                }\n            },\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>"
  },
  {
    "path": "documentation/demo/custom-command.md",
    "content": "---\ncurrentMenu: custom-command \n---\n\n# Demo: Custom command\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Custom Command Handler\n     **************************************************/\n    $.contextMenu.types.label = function(item, opt, root) {\n        // this === item.$node\n\n        $('<span>Label<ul>'\n            + '<li class=\"label1\" title=\"label 1\">label 1</li>'\n            + '<li class=\"label2\" title=\"label 2\">label 2</li>'\n            + '<li class=\"label3\" title=\"label 3\">label 3</li>'\n            + '<li class=\"label4\" title=\"label 4\">label 4</li></ul></span>')\n            .appendTo(this)\n            .on('click', 'li', function() {\n                // do some funky stuff\n                console.log('Clicked on ' + $(this).text());\n                // hide the menu\n                root.$menu.trigger('contextmenu:hide');\n            });\n            \n        this.addClass('labels').on('contextmenu:focus', function(e) {\n            // setup some awesome stuff\n        }).on('contextmenu:blur', function(e) {\n            // tear down whatever you did\n        }).on('keydown', function(e) {\n            // some funky key handling, maybe?\n        });\n    };\n    \n    /**************************************************\n     * Context-Menu with custom command \"label\"\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(itemKey, opt, rootMenu, originalEvent) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            open: {name: \"Open\", callback: $.noop},\n            label: {type: \"label\", customName: \"Label\"},\n            edit: {name: \"Edit\", callback: $.noop}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n<style type=\"text/css\" class=\"showcase\">\n    .labels > span > ul {\n        margin: 0; \n        padding: 0;\n        list-style: none;\n        display: block;\n        float: none;\n    }\n    .labels > span > ul > li {\n        display: inline-block;\n        width: 20px;\n        height: 20px;\n        border: 1px solid #CCC;\n        overflow: hidden;\n        text-indent: -2000px;\n    }\n    .labels > span > ul > li.selected,\n    .labels > span > ul > li:hover { border: 1px solid #000; }\n    .labels > span > ul > li + li { margin-left: 5px; }\n    .labels > span > ul > li.label1 { background: red; }\n    .labels > span > ul > li.label2 { background: green; }\n    .labels > span > ul > li.label3 { background: blue; }\n    .labels > span > ul > li.label4 { background: yellow; }\n</style>\n"
  },
  {
    "path": "documentation/demo/custom-command_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Custom command](#demo-custom-command)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Custom command\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Custom Command Handler\n     **************************************************/\n    $.contextMenu.types.label = function(item, opt, root) {\n        // this === item.$node\n\n        $('<span>Label</span><ul>'\n            + '<li class=\"label1\" title=\"label 1\">label 1</li>'\n            + '<li class=\"label2\" title=\"label 2\">label 2</li>'\n            + '<li class=\"label3\" title=\"label 3\">label 3</li>'\n            + '<li class=\"label4\" title=\"label 4\">label 4</li></ul>')\n            .appendTo(this)\n            .on('click', 'li', function() {\n                var message = \"text: \" + $(this).text();      \n                $('#msg').text($('#msg').text() + ' | ' + message);\n                \n                // hide the menu\n                root.$menu.trigger('contextmenu:hide');\n            });\n            \n        this.addClass('labels').on('contextmenu:focus', function(e) {\n            // setup some awesome stuff\n        }).on('contextmenu:blur', function(e) {\n            // tear down whatever you did\n        }).on('keydown', function(e) {\n            // some funky key handling, maybe?\n        });\n    };\n    \n    /**************************************************\n     * Context-Menu with custom command \"label\"\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            open: {name: \"Open\", callback: $.noop},\n            label: {type: \"label\", customName: \"Label\"},\n            edit: {name: \"Edit\", callback: $.noop}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n<div id=\"msg\"></div>\n\n<style type=\"text/css\" class=\"showcase\">\n    .labels > ul {\n        margin: 0; \n        padding: 0;\n        list-style: none;\n        display: block;\n        float: none;\n    }\n    .labels > ul > li {\n        display: inline-block;\n        width: 20px;\n        height: 20px;\n        border: 1px solid #CCC;\n        overflow: hidden;\n        text-indent: -2000px;\n    }\n    .labels > ul > li.selected,\n    .labels > ul > li:hover { border: 1px solid #000; }\n    .labels > ul > li + li { margin-left: 5px; }\n    .labels > ul > li.label1 { background: red; }\n    .labels > ul > li.label2 { background: green; }\n    .labels > ul > li.label3 { background: blue; }\n    .labels > ul > li.label4 { background: yellow; }\n</style>"
  },
  {
    "path": "documentation/demo/disabled-callback.md",
    "content": "---\ncurrentMenu: disabled-callback \n---\n\n# Demo: Disabled Callback\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Clickable\", \n                icon: \"edit\", \n                disabled: function(){ return false; }\n            },\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(){ return true; }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/disabled-callback_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Disabled Callback](#demo-disabled-callback)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Disabled Callback\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {\n                name: \"Clickable\", \n                icon: \"edit\", \n                disabled: function(){ return false; }\n            },\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(){ return true; }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>"
  },
  {
    "path": "documentation/demo/disabled-changing.md",
    "content": "---\ncurrentMenu: disabled-changing \n---\n\n# Demo: Disabled changing\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\"},\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(key, opt) { \n                    // this references the trigger element\n                    return !this.data('cutDisabled'); \n                }\n            },\n            \"toggle\": {\n                name: \"Toggle\", \n                callback: function() {\n                    // this references the trigger element\n                    this.data('cutDisabled', !this.data('cutDisabled'));\n                    return false;\n                }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/disabled-changing_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Disabled changing](#demo-disabled-changing)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Disabled changing\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\"},\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(key, opt) { \n                    // this references the trigger element\n                    return !this.data('cutDisabled'); \n                }\n            },\n            \"toggle\": {\n                name: \"Toggle\", \n                callback: function() {\n                    // this references the trigger element\n                    this.data('cutDisabled', !this.data('cutDisabled'));\n                    return false;\n                }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>"
  },
  {
    "path": "documentation/demo/disabled-menu.md",
    "content": "---\ncurrentMenu: disabled-menu \n---\n\n# Demo: Disabled menu\n\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral context-menu-disabled\">right click me</span>\n\n<button type=\"button btn btn-neutral\" id=\"toggle-disabled\">Enable Menu</button>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n    \n    $('#toggle-disabled').on('click', function(e) {\n        e.preventDefault();\n        var $this = $(this),\n            $trigger = $('.context-menu-one');\n        if ($trigger.hasClass('context-menu-disabled')) {\n            $this.text(\"Disable Menu\");\n            $trigger.contextMenu(true);\n        } else {\n            $this.text(\"Enable Menu\");\n            $trigger.contextMenu(false);\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/disabled.md",
    "content": "---\ncurrentMenu: disabled \n---\n\n# Demo: Disabled\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\", disabled: false},\n            \"cut\": {name: \"Disabled\", icon: \"cut\", disabled: true}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/disabled_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Disabled](#demo-disabled)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Disabled\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\", disabled: false},\n            \"cut\": {name: \"Disabled\", icon: \"cut\", disabled: true}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>"
  },
  {
    "path": "documentation/demo/dynamic-create.md",
    "content": "---\ncurrentMenu: dynamic-create \n---\n\n# Demo: Create Context Menu on Demand\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        build: function($trigger, e) {\n            // this callback is executed every time the menu is to be shown\n            // its results are destroyed every time the menu is hidden\n            // e is the original contextmenu event, containing e.pageX and e.pageY (amongst other data)\n            return {\n                callback: function(key, options) {\n                    var m = \"clicked: \" + key;\n                    window.console && console.log(m) || alert(m); \n                },\n                items: {\n                    \"edit\": {name: \"Edit\", icon: \"edit\"},\n                    \"cut\": {name: \"Cut\", icon: \"cut\"},\n                    \"copy\": {name: \"Copy\", icon: \"copy\"},\n                    \"paste\": {name: \"Paste\", icon: \"paste\"},\n                    \"delete\": {name: \"Delete\", icon: \"delete\"},\n                    \"sep1\": \"---------\",\n                    \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n                }\n            };\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/dynamic.md",
    "content": "---\ncurrentMenu: dynamic \n---\n\n# Demo: Adding new Context Menu Triggers\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n`jQuery.contextMenu` allows you to define a &lt;menu&gt; before the trigger elements are available.\n\n\n<div> \n  <button id=\"add-trigger\" class=\"btn btn-default\" type=\"submit\">Button</button>    \n</div>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // add new trigger\n    $('#add-trigger').on('click', function(e) {\n        $('<div class=\"context-menu-one clear btn btn-neutral menu-injected\">'\n            + 'right click me <em>(injected)</em>'\n            + '</div><br>').insertBefore(this);\n        // not need for re-initializing $.contextMenu here :)\n    });\n    \n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/fontawesome-icons.md",
    "content": "---\ncurrentMenu: fontawesome-icons\n---\n\n# Demo: FontAwesome icons\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\nThe menu allows you to use [FontAwesome](http://fontawesome.io/) [icons](http://fontawesome.io/icons/) in your menu. Just include the CSS for FontAwesome and you are ready to go.\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n $(function() {\n    $.contextMenu({\n        selector: '.context-menu-one',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"fa-edit\"},\n            \"cut\": {name: \"Beer\", icon: \"fa-beer\"},\n            copy: {name: \"Cloud download\", icon: \"fa-cloud-download\"},\n            \"paste\": {name: \"Certificate\", icon: \"fa-certificate\"}\n        }\n    });\n\n    $('.context-menu-one').on('click', function(e){\n        console.log('clicked', this);\n    })\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/html5-import.md",
    "content": "---\ncurrentMenu: html5-import \n---\n\n# Demo: Importing HTML5 `<menu type=\"context\">`\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n`jQuery.contextMenu` allows you to import HTML5's `<menu>` structures to use in older browsers. \n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        items: $.contextMenu.fromMenu($('#html5menu'))\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n```html\n<menu id=\"html5menu\" style=\"display:none\" class=\"showcase\">\n  <command label=\"rotate\" icon=\"edit\" onclick=\"alert('rotate')\">\n  <command label=\"resize\" onclick=\"alert('resize')\"> \n    <command label=\"twitter\" onclick=\"alert('twitter')\">\n    <hr> \n    <command label=\"facebook\" onclick=\"alert('facebook')\">\n  </menu>\n</menu>\n```\n\n<menu id=\"html5menu\" type=\"context\" style=\"display:none\">\n  <command label=\"rotate\" icon=\"edit\" onclick=\"alert('rotate')\">\n  <command label=\"resize\" onclick=\"alert('resize')\"> \n    <command label=\"twitter\" onclick=\"alert('twitter')\">\n    <hr> \n    <command label=\"facebook\" onclick=\"alert('facebook')\">\n  </menu>\n</menu>\n"
  },
  {
    "path": "documentation/demo/html5-polyfill-firefox8.md",
    "content": "---\ncurrentMenu: html5-polyfill-firefox8 \n---\n\n# Demo: HTML5 Polyfill (Firefox)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\" contextmenu=\"html5firefox8\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu('html5');\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n```html\n<menu id=\"html5firefox8\" type=\"context\" >\n  <menuitem label=\"rotate\" onclick=\"alert('rotate')\" hint=\"I'm a hint\"></menuitem>\n  <menuitem label=\"resize\" onclick=\"alert('resize')\"></menuitem>\n  <menuitem label=\"disabled\" onclick=\"alert('disabled')\" disabled></menuitem>\n  <menu label=\"share\">\n    <menuitem label=\"twitter\" onclick=\"alert('twitter')\"></menuitem>\n    <menuitem label=\"facebook\" onclick=\"alert('facebook')\"></menuitem>\n    <hr>\n    <menuitem type=\"checkbox\" label=\"(checkbox) yes or no?\" \n        onclick=\"alert('checkbox: ' + (this.checked ? 'yep!' : 'nope'))\"></menuitem>\n    <hr>\n    <menuitem type=\"radio\" label=\"(radio) yes\" radiogroup=\"alpha\" checked \n        onclick=\"alert('radio: yes')\"></menuitem>\n    <menuitem type=\"radio\" label=\"(radio) no\" radiogroup=\"alpha\" \n        onclick=\"alert('radio: no')\"></menuitem>\n  </menu>\n</menu>\n```\n\n\n<menu id=\"html5firefox8\" type=\"context\">\n  <menuitem label=\"rotate\" onclick=\"alert('rotate')\" hint=\"I'm a hint\"></menuitem>\n  <menuitem label=\"resize\" onclick=\"alert('resize')\"></menuitem>\n  <menuitem label=\"disabled\" onclick=\"alert('disabled')\" disabled></menuitem>\n  <menu label=\"share\">\n    <menuitem label=\"twitter\" onclick=\"alert('twitter')\"></menuitem>\n    <menuitem label=\"facebook\" onclick=\"alert('facebook')\"></menuitem>\n    <hr>\n    <menuitem type=\"checkbox\" label=\"(checkbox) yes or no?\" \n        onclick=\"alert('checkbox: ' + (this.checked ? 'yep!' : 'nope'))\"></menuitem>\n    <hr>\n    <menuitem type=\"radio\" label=\"(radio) yes\" radiogroup=\"alpha\" checked \n        onclick=\"alert('radio: yes')\"></menuitem>\n    <menuitem type=\"radio\" label=\"(radio) no\" radiogroup=\"alpha\" \n        onclick=\"alert('radio: no')\"></menuitem>\n  </menu>\n</menu>"
  },
  {
    "path": "documentation/demo/html5-polyfill.md",
    "content": "---\ncurrentMenu: html5-polyfill \n---\n\n# Demo: HTML5 Polyfill\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n`jQuery.contextMenu` allows you to import HTML5's &lt;menu&gt; structures to use in older browsers. \n\n<span class=\"context-menu-one btn btn-neutral\" contextmenu=\"html5polyfill\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu('html5');\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n```html\n<menu id=\"html5polyfill\" type=\"context\" style=\"display:none\">  \n    <command label=\"rotate\" onclick=\"alert('rotate')\" icon=\"images/cut.png\">\n    <command label=\"resize\" onclick=\"alert('resize')\" icon=\"images/door.png\">\n    <menu label=\"share\">\n        <command label=\"twitter\" onclick=\"alert('twitter')\" icon=\"images/page_white_copy.png\">\n        <hr>\n        <command label=\"facebook\" onclick=\"alert('facebook')\" icon=\"images/page_white_edit.png\">\n        <hr>\n        <label>foo bar<input type=\"text\" name=\"foo\"></label>\n    </menu>\n</menu>\n```\n\n<menu id=\"html5polyfill\" type=\"context\" style=\"display:none\">  \n    <command label=\"rotate\" onclick=\"alert('rotate')\" icon=\"images/cut.png\">\n    <command label=\"resize\" onclick=\"alert('resize')\" icon=\"images/door.png\">\n    <menu label=\"share\">\n        <command label=\"twitter\" onclick=\"alert('twitter')\" icon=\"images/page_white_copy.png\">\n        <hr>\n        <command label=\"facebook\" onclick=\"alert('facebook')\" icon=\"images/page_white_edit.png\">\n        <hr>\n        <label>foo bar<input type=\"text\" name=\"foo\"></label>\n    </menu>\n</menu>"
  },
  {
    "path": "documentation/demo/input.md",
    "content": "---\ncurrentMenu: input \n---\n\n# Demo: Input Commands\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        items: {\n            // <input type=\"text\">\n            name: {\n                name: \"Text\", \n                type: 'text', \n                value: \"Hello World\", \n                events: {\n                    keyup: function(e) {\n                        // add some fancy key handling here?\n                        window.console && console.log('key: '+ e.keyCode); \n                    }\n                }\n            },\n            sep1: \"---------\",\n            // <input type=\"checkbox\">\n            yesno: {\n                name: \"Boolean\", \n                type: 'checkbox', \n                selected: true\n            },\n            sep2: \"---------\",\n            // <input type=\"radio\">\n            radio1: {\n                name: \"Radio1\", \n                type: 'radio', \n                radio: 'radio', \n                value: '1'\n            },\n            radio2: {\n                name: \"Radio2\", \n                type: 'radio', \n                radio: 'radio', \n                value: '2', \n                selected: true\n            },\n            radio3: {\n                name: \"Radio3\", \n                type: 'radio', \n                radio: 'radio', \n                value: '3'\n            },\n            radio4: {\n                name: \"Radio3\", \n                type: 'radio', \n                radio: 'radio', \n                value: '4', \n                disabled: true\n            },\n            sep3: \"---------\",\n            // <select>\n            select: {\n                name: \"Select\", \n                type: 'select', \n                options: {1: 'one', 2: 'two', 3: 'three'}, \n                selected: 2\n            },\n            // <textarea>\n            area1: {\n                name: \"Textarea with height\", \n                type: 'textarea', \n                value: \"Hello World\", \n                height: 40\n            },\n            area2: {\n                name: \"Textarea\", \n                type: 'textarea', \n                value: \"Hello World\"\n            },\n            sep4: \"---------\",\n            key: {\n                name: \"Something Clickable\", \n                callback: $.noop\n            }\n        }, \n        events: {\n            show: function(opt) {\n                // this is the trigger element\n                var $this = this;\n                // import states from data store \n                $.contextMenu.setInputValues(opt, $this.data());\n                // this basically fills the input commands from an object\n                // like {name: \"foo\", yesno: true, radio: \"3\", …}\n            }, \n            hide: function(opt) {\n                // this is the trigger element\n                var $this = this;\n                // export states to data store\n                $.contextMenu.getInputValues(opt, $this.data());\n                // this basically dumps the input commands' values to an object\n                // like {name: \"foo\", yesno: true, radio: \"3\", …}\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/keeping-contextmenu-open.md",
    "content": "---\ncurrentMenu: keeping-contextmenu-open \n---\n\n# Demo: Keeping the Menu visible\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Closing on Click\", \n                icon: \"edit\", \n                callback: function(){ return true; }\n            },\n            \"cut\": {\n                name: \"Open after Click\", \n                icon: \"cut\", \n                callback: function(){ return false; }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/menu-promise.md",
    "content": "---\ncurrentMenu: menu-promise \n---\n\n# Demo: Submenu through promise (asynchronous)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<h3>right-clickable context menus</h3>\n<ul>\n  <li><label for=\"immediate\">immediate:</label><input id=\"immediate\"/></li>\n  <li><label for=\"async\">async:</label><input id=\"async\"/></li>\n</ul>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n    $(function() {\n        // normally, contextMenu sets up a handler for right click\n        $.contextMenu({\n            selector: '#immediate',\n            callback: menuCallback,\n            items: buildMenuItems()\n        });\n    \n        // for async menus, we set up a handler and a menu for it to call\n        $('#async').on('contextmenu', rightClickHandler)\n        $.contextMenu({\n            selector: '#async',\n            trigger: 'none',\n            build: function($trigger, e) {\n                // return callback set by the mouseup handler\n                return $trigger.data('runCallbackThingie')();\n            }\n        });\n    \n        function buildMenuItems () {\n            return {\n                \"GTA\": {name: \"Lysine\", icon: \"edit\"},\n                \"TGG\": {name: \"Tryptophan\", icon: \"cut\"},\n                \"TTC\": {name: \"Phenylalanine\", icon: \"copy\"}\n            }\n        }\n    \n        // asynchronous menu item construction takes one second\n        function buildMenuItemsPromise () {\n            return new Promise((accept, reject) => {\n                setTimeout(() => accept(buildMenuItems()), 1000)\n            })\n        }\n    \n        // right-click handler enables mouseup handler\n        function rightClickHandler (e) {\n            e.preventDefault();\n            const $this = $(this);\n            $this.off('contextmenu', rightClickHandler);\n    \n            // when the items are ready,\n            buildMenuItemsPromise().then(items => {\n    \n                // store a callback on the trigger\n                $this.data('runCallbackThingie', function () {\n                    return {\n                        callback: menuCallback,\n                        items: items\n                    };\n                });\n                const _offset = $this.offset(),\n                        position = {\n                            x: _offset.left + 10,\n                            y: _offset.top + 10\n                        }\n                $this.contextMenu(position);\n    \n                $this.on('contextmenu', rightClickHandler)\n            });\n        }\n    \n        // callback insert letters over the selection\n        function menuCallback (key, options) {\n            const contents = $(this).val(),\n                        start = this.get(0).selectionStart,\n                        end = this.get(0).selectionEnd\n            $(this).val(contents.substr(0, start)\n                                    + key\n                                    + contents.substr(end)\n            )\n        }\n    });\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/menu-title.md",
    "content": "---\ncurrentMenu: menu-title  \n---\n\n# Demo: Menu Title\n\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example CSS](#example-css)\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n<span class=\"context-menu-two btn btn-neutral\">right click me</span>\n<span class=\"context-menu-three btn btn-neutral\">right click me</span>\n\n\n\n## Example CSS\n\n<style type=\"text/css\" class=\"showcase\">\n    /* menu header */\n    .css-title:before {\n        content: \"some CSS title\";\n        display: block;\n        position: absolute;\n        top: 0;\n        right: 0;\n        left: 0;\n        background: #DDD;\n        padding: 2px;\n    \n        font-family: Verdana, Arial, Helvetica, sans-serif;\n        font-size: 11px;\n        font-weight: bold;\n    }\n    .css-title :first-child {\n        margin-top: 20px;\n    }\n    \n    /* menu header via data attribute */\n    .data-title:before {\n        content: attr(data-menutitle);\n        display: block;\n        position: absolute;\n        top: 0;\n        right: 0;\n        left: 0;\n        background: #DDD;\n        padding: 2px;\n    \n        font-family: Verdana, Arial, Helvetica, sans-serif;\n        font-size: 11px;\n        font-weight: bold;\n    }\n    .data-title :first-child {\n        margin-top: 20px;\n    }\n</style>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // register regular menu\n    $.contextMenu({\n        selector: '.context-menu-one',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n    \n    // register menu with title provided by CSS\n    $.contextMenu({\n        selector: '.context-menu-two',\n        className: 'css-title',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n    \n    // register menu with title provided by data-attribute\n    $.contextMenu({\n        selector: '.context-menu-three',\n        className: 'data-title',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n    \n    // set a title\n    $('.data-title').attr('data-menutitle', \"Some JS Title\");\n});\n</script>\n\n## Example HTML\n\n```html\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n<span class=\"context-menu-two btn btn-neutral\">right click me</span>\n\n<span class=\"context-menu-three btn btn-neutral\">right click me</span>\n```\n\n\n\n"
  },
  {
    "path": "documentation/demo/on-dom-element.md",
    "content": "---\ncurrentMenu: on-dom-element\n---\n\n# Demo: Context Menu on DOM Element\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<ul id=\"the-node\">\n    <li><span class=\"context-menu-one btn btn-neutral\">right click me 1</span></li>\n    <li><span class=\"context-menu-one btn btn-neutral\">right click me 2</span></li>\n    <li>right click me 3</li>\n    <li>right click me 4</li>\n</ul>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $('#the-node').contextMenu({\n        selector: 'li', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key + \" on \" + $(this).text();\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n\n```html\n<ul id=\"the-node\">\n    <li><span class=\"context-menu-one btn btn-neutral\">right click me 1</span></li>\n    <li><span class=\"context-menu-one btn btn-neutral\">right click me 2</span></li>\n    <li>right click me 3</li>\n    <li>right click me 4</li>\n</ul>\n\n```\n"
  },
  {
    "path": "documentation/demo/sub-menus-promise.md",
    "content": "---\ncurrentMenu: sub-menus-promise  \n---\n\n# Demo: Submenus with promise\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\nvar errorItems = { \"errorItem\": { name: \"Could not load items\" },};//example usage if you want to reject promise\n    var loadItems = function () {//example method that will eventually do an async call\n        var dfd = jQuery.Deferred();\n        setTimeout(function () {\n            dfd.resolve(subItems);\n        }, 1000);\n        //setTimeout(function () {\n        //    dfd.reject(errorItems);\n        //}, 1000); //could be used to reject items, providing the same format list.\n        return dfd.promise();//return a jquery promise, see http://api.jquery.com/deferred.promise/\n    };\n\n    var subItems = {\n        \"sub1\": { name: \"Submenu1\", icon: \"edit\" },\n        \"sub2\": { name: \"Submenu2\", icon: \"cut\" },\n    };\n    //normal context menu initialization.\n    $.contextMenu({\n        selector: '.context-menu-one',\n        build: function ($trigger, e) {\n            return {\n                callback: function (key, options) {\n                    var m = \"clicked: \" + key;\n                    console.log(m);\n                },\n                items: {\n                    \"edit\": { name: \"Edit\", icon: \"edit\" },\n                    \"cut\": { name: \"Cut\", icon: \"cut\" },\n                    \"status\": {\n                        name: \"Status\",\n                        icon: \"delete\",\n                        items: loadItems(),//providing promise instead of items\n                    },\n                }\n            };\n        }\n    });\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n"
  },
  {
    "path": "documentation/demo/sub-menus.md",
    "content": "---\ncurrentMenu: sub-menus  \n---\n\n# Demo: Submenus\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Context-Menu with Sub-Menu\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\"name\": \"Edit\", \"icon\": \"edit\"},\n            \"cut\": {\"name\": \"Cut\", \"icon\": \"cut\"},\n            \"sep1\": \"---------\",\n            \"quit\": {\"name\": \"Quit\", \"icon\": \"quit\"},\n            \"sep2\": \"---------\",\n            \"fold1\": {\n                \"name\": \"Sub group\", \n                \"items\": {\n                    \"fold1-key1\": {\"name\": \"Foo bar\"},\n                    \"fold2\": {\n                        \"name\": \"Sub group 2\", \n                        \"items\": {\n                            \"fold2-key1\": {\"name\": \"alpha\"},\n                            \"fold2-key2\": {\"name\": \"bravo\"},\n                            \"fold2-key3\": {\"name\": \"charlie\"}\n                        }\n                    },\n                    \"fold1-key3\": {\"name\": \"delta\"}\n                }\n            },\n            \"fold1a\": {\n                \"name\": \"Other group\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\"},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\"},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/sub-menus_test.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Demo: Submenus](#demo-submenus)\n  - [Example code](#example-code)\n  - [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n# Demo: Submenus\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Context-Menu with Sub-Menu\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            \"edit\": {\"name\": \"Edit\", \"icon\": \"edit\"},\n            \"cut\": {\"name\": \"Cut\", \"icon\": \"cut\"},\n            \"sep1\": \"---------\",\n            \"quit\": {\"name\": \"Quit\", \"icon\": \"quit\"},\n            \"sep2\": \"---------\",\n            \"fold1\": {\n                \"name\": \"Sub group\", \n                \"items\": {\n                    \"fold1-key1\": {\"name\": \"Foo bar\"},\n                    \"fold2\": {\n                        \"name\": \"Sub group 2\", \n                        \"items\": {\n                            \"fold2-key1\": {\"name\": \"alpha\"},\n                            \"fold2-key2\": {\"name\": \"bravo\"},\n                            \"fold2-key3\": {\"name\": \"charlie\"}\n                        }\n                    },\n                    \"fold1-key3\": {\"name\": \"delta\"}\n                }\n            },\n            \"fold1a\": {\n                \"name\": \"Other group\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\"},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\"},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n"
  },
  {
    "path": "documentation/demo/trigger-custom.md",
    "content": "---\ncurrentMenu: trigger-custom  \n---\n\n# Demo: Custom Activated Context Menu\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">press that button</span>\n\n<button id=\"activate-menu\" class=\"btn btn-default\" type=\"submit\">Button</button>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // make button open the menu\n    $('#activate-menu').on('click', function(e) {\n        e.preventDefault();\n        $('.context-menu-one').contextMenu();\n        // or $('.context-menu-one').trigger(\"contextmenu\");\n        // or $('.context-menu-one').contextMenu({x: 100, y: 100});\n    });\n    \n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'none',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/trigger-hover-autohide.md",
    "content": "---\ncurrentMenu: trigger-hover-autohide  \n---\n\n# Demo: Hover Activated Context Menu With Autohide\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">hover over me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'hover',\n        delay: 500,\n        autoHide: true,\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/trigger-hover.md",
    "content": "---\ncurrentMenu: trigger-hover  \n---\n\n# Demo: Hover Activated Context Menu\n\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">hover over me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'hover',\n        delay: 500,\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/trigger-left-click.md",
    "content": "---\ncurrentMenu: trigger-left-click  \n---\n\n# Demo: Left-Click Trigger\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">left click me</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'left',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo/trigger-swipe.md",
    "content": "---\ncurrentMenu: trigger-swipe\n---\n\n# Demo: Swipe Trigger\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code](#example-code)\n- [Example HTML](#example-html)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery.touchswipe/1.6.12/jquery.touchSwipe.min.js'></script>\n\nThis demo uses the (third party) [TouchSwipe](https://github.com/mattbryson/TouchSwipe-Jquery-Plugin) plugin.\n\n\n<span class=\"context-menu-one btn btn-neutral\">swype right</span>\n\n## Example code\n\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // make swipe right open the menu\n    $('.context-menu-one').swipe({\n        // see http://labs.skinkers.com/touchSwipe/\n        swipe: function(event, direction, distance, duration, fingerCount) {\n            if (fingerCount === 1) {\n                $(this).contextMenu({\n                    x: event.changedTouches[0].screenX,\n                    y: event.changedTouches[0].screenY,\n                });\n            }\n        }\n    });\n    \n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'none',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"fold1a\": {\n                \"name\": \"Some submenu\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\"},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\"},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n\n## Example HTML\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>"
  },
  {
    "path": "documentation/demo.md",
    "content": "---\ncurrentMenu: simple-context-menu\n---\n\n# Demo: Simple Context Menu\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Example code: Simple Context Menu](#example-code-simple-context-menu)\n- [Example HTML: Simple Context Menu](#example-html-simple-context-menu)\n- [jQuery Context Menu Demo Gallery](#jquery-context-menu-demo-gallery)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n<span class=\"context-menu-one btn btn-neutral\">right click me</span>\n\n## Example code: Simple Context Menu\n\n<script type=\"text/javascript\" class=\"showcase\">\n    $(function() {\n        $.contextMenu({\n            selector: '.context-menu-one', \n            callback: function(key, options) {\n                var m = \"clicked: \" + key;\n                window.console && console.log(m) || alert(m); \n            },\n            items: {\n                \"edit\": {name: \"Edit\", icon: \"edit\"},\n                \"cut\": {name: \"Cut\", icon: \"cut\"},\n               copy: {name: \"Copy\", icon: \"copy\"},\n                \"paste\": {name: \"Paste\", icon: \"paste\"},\n                \"delete\": {name: \"Delete\", icon: \"delete\"},\n                \"sep1\": \"---------\",\n                \"quit\": {name: \"Quit\", icon: function(){\n                    return 'context-menu-icon context-menu-icon-quit';\n                }}\n            }\n        });\n        \n        $('.context-menu-one').on('click', function(e){\n            console.log('clicked', this);\n        })    \n    });\n</script>\n\n## Example HTML: Simple Context Menu\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n\n## jQuery Context Menu Demo Gallery\n\n*   [Simple Context Menu](demo.html)\n*   [Context Menu on DOM Element](demo/on-dom-element.html)\n*   [Adding new Context Menu Triggers](demo/dynamic.html)\n*   [Create Context Menu on demand](demo/dynamic-create.html)\n*   [Create Context Menu (asynchronous)](demo/async-create.html)\n*   [Keeping the context menu open](demo/keeping-contextmenu-open.html)\n*   [Command's action (callbacks)](demo/callback.html)\n*   [Left-Click Trigger](demo/trigger-left-click.html)\n*   [Swipe Trigger](demo/trigger-swipe.html)\n*   [Hover Activated Context Menu](demo/trigger-hover.html)\n*   [Hover Activated Context Menu With Autohide](demo/trigger-hover-autohide.html)\n*   [Custom Activated Context Menu](demo/trigger-custom.html)\n*   [Disabled Menu](demo/disabled-menu.html)\n*   [Disabled Command](demo/disabled.html)\n*   [Disabled Callback Command](demo/disabled-callback.html)\n*   [Changing Command's disabled status](demo/disabled-changing.html)\n*   [Accesskeys](demo/accesskeys.html)\n*   [Submenus](demo/sub-menus.html)\n*   [Input Commands](demo/input.html)\n*   [Custom Command Types](demo/custom-command.html)\n*   [Menus with titles](demo/menu-title.html)\n*   [Importing HTML5 <menu type=\"context\">](demo/html5-import.html)\n*   [HTML5 Polyfill](demo/html5-polyfill.html)\n*   [HTML5 Polyfill (Firefox)](demo/html5-polyfill-firefox8.html)\n"
  },
  {
    "path": "documentation/docs/custom-command-types.md",
    "content": "---\ncurrentMenu: custom-command-types\n---\n\n# Custom Command Types\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\nBesides the built-in command types custom handlers can be defined. The command generator must be placed in `$.contextMenu.types`. It is identified by the key given in that object. The generator function is executed in the context of the new command's `<li>` within the menu. item is the object passed at creation. Use this to pass values from your definition to the generator. `opt` is the current menu level, `root` is the menu's root-level `opt` (relevant for sub-menus only).\n\nA custom command type can be whatever you like it to be, it can behave how ever you want it to behave. Besides the keyboard interaction paradigm (`up`, `down`, `tab`, `escape`) key-events are passed on to the `<li>` which can be accessed via `$(this).on('keydown', …);`\n\nNote that you'll probably want to disable default action handling (click, pressing enter) in favor of the custom command's behavior.\n\n```javascript\n$.contextMenu.types.myType = function(item, opt, root) {\n    $('<span>' + item.customName + '</span>').appendTo(this);\n    this.on('contextmenu:focus', function(e) {\n        // setup some awesome stuff\n    }).on('contextmenu:blur', function(e) {\n        // tear down whatever you did\n    }).on('keydown', function(e) {\n        // some funky key handling, maybe?\n    });\n};\n$.contextMenu({\n    selector: '.context-menu-custom', \n    items: {\n        label: {type: \"myType\", customName: \"Foo Bar\"}\n    }\n});\n```"
  },
  {
    "path": "documentation/docs/customize.md",
    "content": "---\ncurrentMenu: custom-icons\n---\n\n## Customize icons\n\nYou can add icons to src/icons and run ``gulp build-icons``. This will make the icons available for use in the contextmenu using the icon property.\n\nSo for example the file checkmark.svg wil result in the CSS context-menu-icon-checkmark which you can use by using the [icon option](items#icon) when defining a menu item.\n\nIs is also possible to just use FontAwesome icons, see the [demo of FontAwesome](https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons). \n\n### Example\n\n```javascript\nvar items = {\n    firstCommand: {        \n        name: \"Paste\",\n        icon: \"checkmark\" // Class context-menu-icon-checkmark is used on the menu item. This is generated from checkmark.svg\n    }\n}\n```\n\nFont-Awesome icons used from [encharm/Font-Awesome-SVG-PNG](https://github.com/encharm/Font-Awesome-SVG-PNG). You can download more there if you like.\n\nFinally, you will need to re-build the CSS using [`sass`](http://sass-lang.com), otherwise you may see mismatchings between the icon references. Use the command ``gulp css`` to re-build the CSS in the dist directory. The new CSS files will contain the icons you added.\n\n## Customize CSS\n\nYou can use the _variables.scss to adjust variables on pretty much everything you want to change.\n"
  },
  {
    "path": "documentation/docs/events.md",
    "content": "---\ncurrentMenu: events\n---\n\n# Events\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [contextmenu](#contextmenu)\n- [prevcommand](#prevcommand)\n- [nextcommand](#nextcommand)\n- [contextmenu:hide](#contextmenuhide)\n- [contextmenu:focus](#contextmenufocus)\n- [contextmenu:blur](#contextmenublur)\n- [keydown](#keydown)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\nList of events that are triggered on the menu. You can manually trigger some events to control the menu.\n\n## contextmenu\n\n`contextmenu` : Trigger context menu to be shown for a trigger object.\n\nAvailable on trigger object. The Event must be supplied with coordinates for the menu: `{pageX: 123, pageY:123}`\n\n```\n$('.context-menu-one').first().trigger(\n  $.Event('contextmenu', {pageX: 123, pageY: 123})\n);\n$('.context-menu-one').first().trigger(\"contextmenu\");\n```\n\nwill invoke `determinePosition` to position the menu.\n\n## prevcommand\n\n`prevcommand` : Select / highlight the previous possible command\n\nAvailable on context menu.\n\n```\nopt.$menu.trigger(\"prevcommand\");\n```\n\n\n\n## nextcommand\n`nextcommand` : Select / highlight the next possible command\n\nAvailable on context menu.\n\n```\nopt.$menu.trigger(\"nextcommand\");\n```\n\n## contextmenu:hide\n\n`contextmenu:hide` : Hide the menu\n\nAvailable on context menu.\n\n```\nopt.$menu.trigger(\"contextmenu:hide\");\n```\n\n## contextmenu:focus\n\n`contextmenu:focus` : React to a command item being focused\n\nTriggered on context menu item when mouse or keyboard interaction lead to a \"hover state\" for that command item.\n\n```\n$(document.body).on(\"contextmenu:focus\", \".context-menu-item\", \n    function(e){ \n        console.log(\"focus:\", this); \n    }\n);\n```\n\n## contextmenu:blur\n\n`contextmenu:blur` :  Available on each context menu item.\n\nTriggered on context menu item when mouse or keyboard interaction lead from a \"hover state\" to \"default state\" for that command item.\n\n```\n$(document.body).on(\"contextmenu:blur\", \".context-menu-item\",\n    function(e){ \n        console.log(\"blur:\", this);    \n    }\n);\n```\n\n        \n## keydown\n\n`keydown` : Available on each context menu item.\n\nTriggered on context menu item when keyboard interaction could not be handled by jQuery.contextMenu.\n\n```\n$(document.body).on(\"keydown\", \".context-menu-item\",\n    function(e){ \n        console.log(\"key:\", e.keyCode);    \n    }\n);\n```\n"
  },
  {
    "path": "documentation/docs/font-awesome.md",
    "content": "---\ncurrentMenu: font-awesome\n-------------------------\n\n## Customize icons\n\nIt is possible to use font-awesome icons if you like. You need to include the [Font Awesome CSS](https://www.bootstrapcdn.com/fontawesome/) in your application. That will enable you to use the icon classes to use those icons.\n\nCheck out the [demo](https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons)\n\n## Bring your own icons\n\nIt is also possible to use your own SVG icons if you like, you can [customize](customize) this by using the SASS files.\n\n## Recent Font Awesome support\n\nThe contextmenu supports the new Font Awesome by including the correct font-awesome CSS and adding the new classes as icon for a menu item. When using for example `fas fa-beer` it will crete the `i` tag for the icon in the menu and adjust CSS accordingly.\n"
  },
  {
    "path": "documentation/docs/html5-polyfill.md",
    "content": "---\ncurrentMenu: html5-polyfill\n---\n\n# HTML5 `<menu>` shiv/polyfill\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [HTML5 `<menu>` import](#html5-menu-import)\n- [HTML5 `<menu>` shiv/polyfill](#html5-menu-shivpolyfill)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## HTML5 `<menu>` import\n\nconsidering the following HTML `$.contextMenu.fromMenu($('#html5menu'))` will return a proper items object.\n\n```\n<menu id=\"html5menu\" type=\"context\" style=\"display:none\">\n  <command label=\"rotate\" onclick=\"alert('rotate')\">\n  <command label=\"resize\" onclick=\"alert('resize')\">\n  <menu label=\"share\">\n    <command label=\"twitter\" onclick=\"alert('twitter')\">\n    <hr>\n    <command label=\"facebook\" onclick=\"alert('facebook')\">\n  </menu>\n</menu>\n```\n\n\n`$.contextMenu.fromMenu()` will properly import (and thus handle) the following elements. Everything else is imported as `{type: \"html\"}`\n\n```\n<menu>\n<hr>\n<a>\n<command type=\"command|radio|checkbox\"> (W3C Specification)\n<menuitem type=\"command|radio|checkbox\"> (Firefox)\n<input type=\"text|radio|checkbox\">\n<select>\n<textarea>\n<label for=\"someId\">\n<label> the text <input|textarea|select>\n```\n\nThe `<menu>` must be hidden but not removed, as all command events (clicks) are passed-thru to the original command element!\n\nNote: While the specs note `<option>`s to be rendered as regular commands, `$.contextMenu` will render an actual `<select>`.\n\n## HTML5 `<menu>` shiv/polyfill\n\nEngaging the HTML5 polyfill (ignoring `$.contextMenu` if context menus are available natively):\n\n```\n$(function(){ \n    $.contextMenu(\"html5\"); \n});\n```\n\nEngaging the HTML5 polyfill (ignoring browser native implementation):\n\n```\n$(function(){ \n    $.contextMenu(\"html5\", true); \n});\n```\n"
  },
  {
    "path": "documentation/docs/input-helpers.md",
    "content": "---\ncurrentMenu: input-helpers\n---\n\n# Helpers\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Import values for `<input>`](#import-values-for-input)\n- [Export values from `<input>`](#export-values-from-input)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Import values for `<input>`\n\nTo fill input commands with values from a map:\n\n```\n{events: {\n    hide: function(opt){ \n      $.contextMenu.getInputValues(opt, {command1: \"foo\", command2: \"bar\"}); \n    }\n  }\n}\n```\n\nTo fill input commands with values from data-attributes:\n\n```\n{events: {\n  hide: function(opt){ \n    $.contextMenu.getInputValues(opt, this.data());\n    }\n  }\n}\n```\n\n## Export values from `<input>`\n\nTo fetch values from input commands:\n\n```\n{events: {\n  hide: function(opt){ \n    var values = $.contextMenu.setInputValues(opt}\n  }\n}\n```\n\nTo save values from input commands to data-attributes:\n\n```\n{events: {\n  hide: function(opt){ \n    $.contextMenu.setInputValues(opt, this.data()); }\n  }\n}\n```\n\n"
  },
  {
    "path": "documentation/docs/items.md",
    "content": "---\ncurrentMenu: items\n---\n\n# Items\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [options.items](#optionsitems)\n  - [name](#name)\n  - [callback](#callback)\n  - [className](#classname)\n  - [icon](#icon)\n  - [disabled](#disabled)\n  - [visible](#visible)\n  - [type](#type)\n  - [events](#events)\n  - [value](#value)\n  - [selected](#selected)\n  - [radio](#radio)\n  - [options](#options)\n  - [height](#height)\n  - [items](#items)\n  - [accesskey](#accesskey)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n\nThe items map contains the commands to list in the menu. Each command has a unique key identifying an item object. The value may either be an item (properties explained below), or a string (which will insert a separator, disregarding the string's content). It is also possible to define a seperator the same as an item, and use the `type`:`cm_separator` to define it. \n\n```javascript\nvar items = {\n  firstCommand: itemOptions,\n  separator1: \"-----\",\n  separator2: { \"type\": \"cm_separator\" },\n  command2: itemOptions\n}\n```\n\nSince 2.3 it is also possible to use a promise as item, so you can build submenu's based on a snynchronous promis.\n\nCheck out the [demo using a promise](demo/async-promise.md) for an example how to use this. The example uses jQuery deferred, but any promise should do. Promised can only be used in combination with the [build option](docs#build).\n\n## options.items\n\n### name \n\nSpecify the human readable name of the command in the menu. This is used as the label for the option.\n\n`name`: `string`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\"\n    }\n}\n```\n\n\n### isHtmlName\n\nWhen truthy, the defined `name` value is HTML.\n\nThe value will be rendered using `$.html()` instead of `$.text()`.\n\n__Note: Cannot be used with the [accesskey](#accesskey) option in the same item.__\n\n`isHtmlName`: `boolean`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy <span style='font-weight: bold'>Text</span>\",\n        isHtmlName: true\n    }\n}\n```\n\n\n### callback \n\nSpecifies the callback to execute if clicked on\n\nThe Callback is executed in the context of the triggering object. The first argument is the key of the command. The second argument is the options object. The Callback may return false to prevent the menu from being hidden.\n\nIf no callback and no default callback is specified, the item will not have an action\n\n`callback`: `function(itemKey, opt, originalEvent)`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        callback: function(itemKey, opt, e){\n            // Alert the key of the item and the trigger element's id.\n            alert(\"Clicked on \" + itemKey + \" on element \" + opt.$trigger.id);\n             \n            // Do not close the menu after clicking an item\n            return false;             \n        }       \n    }\n}\n```\n\n\n\n\n### className \n\nSpecifies additional classNames to add to the menu item. Seperate multiple classes by using spaces.\n\n`className`: `string`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        className: 'contextmenu-item-custom contextmenu-item-custom__highlight'\n    }\n}\n```\n\n### icon \n\nSpecifies the icon class to set for the item.\n\nWhen using a string icons must be defined in CSS with selectors like `.context-menu-item.context-menu-icon-edit`, where `edit` is the icon class specified.\n\nWhen using a callback you can return a class string to use that as the class on the item. You can also modify the element by using the `$itemElement` argument. \n \n`icon`: `string` or `function(opt, $itemElement, itemKey, item)`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        icon: function(opt, $itemElement, itemKey, item){\n            // Set the content to the menu trigger selector and add an bootstrap icon to the item.\n            $itemElement.html('<span class=\"glyphicon glyphicon-star\" aria-hidden=\"true\"></span> ' + opt.selector);\n            \n            // Add the context-menu-icon-updated class to the item\n            return 'context-menu-icon-updated';\n        }\n    },\n    secondCommand: {\n        name: \"Paste\",\n        icon: \"paste\" // Class context-menu-icon-paste is used on the menu item.\n    }\n}\n```\n\n\n### disabled \n<!--  @todo options object -->\nSpecifies if the command is disabled (`true`) or enabled (`false`).\n\nMay be a callback returning a `boolean`. The callback is executed in the context of the triggering object (so this inside the function refers to the element the context menu was shown for). The first argument is the `key` of the command. The second argument is the `options object`.\n\n`disabled`: `boolean` or `function(itemKey, opt)`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        disabled: function(key, opt){        \n            // Disable this item if the menu was triggered on a div\n            if(opt.$trigger.nodeName === 'div'){\n                return true;\n            }            \n        }\n    }\n}\n```\n\n\n\n\n### visible \n<!--  @todo options object -->\nSpecifies if the command is visible (`true`) or not (`false`).\n\nMay be a callback returning a boolean. The callback is executed in the context of the triggering object (so this inside the function refers to the element the context menu was shown for). The first argument is the key of the command. The second argument is the `options object`.\n\n`visible`: `boolean` or `function(itemKey, opt)`\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        visible: function(key, opt){        \n            // Hide this item if the menu was triggered on a div\n            if(opt.$trigger.nodeName === 'div'){\n                return false;\n            }            \n        }\n    }\n}\n```\n\n\n### type\n\nSpecifies the type of the command.\n\n`type`: `null`, `undefined`, `text`, `textarea`, `checkbox`, `radio`, `select`, `html` default: `null` \n\nValue | Description\n---- | ---- \n`null`, `undefined` , `\"\"` | The command is a simple clickable item.\n`\"text\"` | Makes the command an `<input>` of type `text`.<br>The name followed by the `<input>` are encapsulated in a `<label>`.\n`\"textarea\"` | Makes the command a `<textarea>`. <br>The name followed by the `<input>` are encapsulated in a `<label>`.\n`\"checkbox\"` | Makes the command an `<input>` of type checkbox. <br>The name preceeded by the `<input>` are encapsulated in a `<label>`. <br>The checkbox-element is moved to the icon space\n`\"radio\"` | Makes the command an `<input>` of type radio. <br>The name preceeded by the `<input>` are encapsulated in a `<label>`. <br>The radio-element is moved to the icon space\n`\"select\"` | Makes the command a `<select>`. <br>The name followed by the `<select>` are encapsulated in a `<label>`.\n`\"html\"` | Makes an non-command element. When you select `type: 'html'` add the html to the `html` property. So: `{ item: { type: 'html', html: '<span>html!</span>' } }`. You can also just use the item name with the [`isHtmlName`](isHtmlName) property.\n\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n        items: {\n            name: {\n                name: \"Text\", \n                type: 'text', \n                value: \"Hello World\", \n                events: {\n                    keyup: function(e) {\n                        // add some fancy key handling here?\n                        window.console && console.log('key: '+ e.keyCode); \n                    }\n                }\n            },\n            sep1: \"---------\",\n            // <input type=\"checkbox\">\n            yesno: {\n                name: \"Boolean\", \n                type: 'checkbox', \n                selected: true\n            },\n            sep2: \"---------\",\n            // <input type=\"radio\">\n            radio1: {\n                name: \"Radio1\", \n                type: 'radio', \n                radio: 'radio', \n                value: '1'\n            },\n            radio2: {\n                name: \"Radio2\", \n                type: 'radio', \n                radio: 'radio', \n                value: '2', \n                selected: true\n            },\n            sep3: \"---------\",\n            // <select>\n            select: {\n                name: \"Select\", \n                type: 'select', \n                options: {1: 'one', 2: 'two', 3: 'three'}, \n                selected: 2\n            },\n            // <textarea>\n            area1: {\n                name: \"Textarea with height\", \n                type: 'textarea', \n                value: \"Hello World\", \n                height: 40\n            },\n            area2: {\n                name: \"Textarea\", \n                type: 'textarea', \n                value: \"Hello World\"\n            },\n            sep4: \"---------\",\n            key: {\n                name: \"Something Clickable\", \n                callback: $.noop\n            }\n        }\n});\n```\n\n### events\n\nEvents to register on `<input>` elements. The contents of the options object are passed to jQuery event.data.\n\n__Only used with [types](#type) `text`, `textarea`, `radio`, `checkbox` and `select`.__\n\n`events`: `object`\n\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    events: {\n        command1: {\n            name: \"Foobar\", \n            type: \"text\", \n            events: {\n                keyup: function(e){\n                    alert(e.keyCode);\n                    alert(e.data.$trigger.attr(\"id\"));\n                }\n            } \n        }\n    }\n});\n```\n\n\n### value\n\nThe value of the `<input>` element.\n\n__Only used with [types](#type) `text`, `textarea`, `radio`.__\n\n`value`: `string`\n\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    command1: {\n        name: \"Foobar\", \n        type: \"text\",\n        value: \"default value\"\n    }\n});\n```\n\n### selected\n\nThe selected option of a `select` element and the checked property for `checkbox` and `radio` types.\n\n__Only used with [types](#type) `select`, `checkbox`, `radio`.__\n\n\n`selected`: `string` or `boolean` \n\nValue | Description\n---- | ---- \n`boolean` | Use with `checkbox` and `radio` to check. \n`string` |  Use with `select` to select that option.\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items: {\n        // <select>\n        select: {\n            name: \"Select\", \n            type: 'select', \n            options: {1: 'one', 2: 'two', 3: 'three'}, \n            selected: \"2\"\n        }\n    }\n});\n```\n\n### radio\n\nSpecifies the group of the radio elements.\n\n__Only used with [type](#type) `radio`.__\n\n`radio`: `string` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items: {\n        // <input type=\"radio\">\n        radio1: {\n            name: \"Radio1\", \n            type: 'radio', \n            radio: 'radio', \n            value: '1'\n        },\n        radio2: {\n            name: \"Radio2\", \n            type: 'radio', \n            radio: 'radio', \n            value: '2', \n            selected: true\n        }\n    }    \n});\n```\n\n\n### options\n\nSpecifies the `<option>` elements for the `<select>` element.\n\n__Only used with [type](#type) `select`.__\n\n`options`: `object` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items: {\n       // <select>\n       select: {\n           name: \"Select\", \n           type: 'select', \n           options: {1: 'one', 2: 'two', 3: 'three'}, \n           selected: \"2\"\n       }\n    }    \n});\n```\n\n\n\n### height\n\nThe height in pixel `<textarea>` element. If not specified, the height is defined by CSS.\n\n__Only used with [type](#type) `textarea`.__\n\n`height`: `int` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items: {\n       // <select>\n       myTextarea: {\n           name: \"Textarea\", \n           type: 'textarea', \n           height: 200\n       }\n    }    \n});\n```\n\n\n\n### items\n\nCommands to show in a sub-menu. You can nest as many as you like.\n\n`items`: `object` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items: {\n       // <select>\n       myItemWithSubmenu: {\n           name: \"Textarea\", \n           {\n                items {\n                    mySubmenu {\n                        name: \"Command 1\"\n                        callback: function(key, opt){ \n                            alert(\"Clicked on \" + key); \n                        }\n                    }\n                }\n           }\n       }\n    }    \n});\n```\n\n\n### accesskey\n\nCharacter(s) to be used as accesskey. \n\nConsidering `a b c` $.contextMenu will first try to use »a« as the accesskey, if already taken, it'll fall through to »b«. Words are reduced to the first character, so »hello world« is treated as »h w«.\n\nNote: Accesskeys are treated unique throughout one menu. This means an item in a sub-menu can't occupy the same accesskey as an item in the main menu.\n\n`accesskey`: `string` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    accesskey: 'a'\n    callback: function(itemKey, opt){ \n        alert('I pressed a!');\n    }\n});\n```\n\n### dataAttr\n\nAllows to pass data attributes (`data-*`) that get applied to the menu item. It should be passed as an object with key and a value.\n\n#### Example\n\n```javascript\nvar items = {\n    firstCommand: {\n        name: \"Copy\",\n        dataAttr: {\n            menuTitle: \"My custom title\"            \n        }           \n    }\n}\n```\n"
  },
  {
    "path": "documentation/docs/plugin-commands.md",
    "content": "---\ncurrentMenu: plugin-commands\n---\n\n# Plugin commands\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Disable a contextMenu trigger](#disable-a-contextmenu-trigger)\n- [Enable a contextMenu trigger](#enable-a-contextmenu-trigger)\n- [Manually show a contextMenu](#manually-show-a-contextmenu)\n- [Manually hide a contextMenu](#manually-hide-a-contextmenu)\n- [Unregister all contextMenus](#unregister-all-contextmenus)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Disable a contextMenu trigger\n\ndisable contextMenu to be shown on specified trigger elements\n\n```\n$(\".some-selector\").contextMenu(false);\n```\n\n\n## Enable a contextMenu trigger\n\nenable contextMenu to be shown on specified trigger elements\n\n```\n$(\".some-selector\").contextMenu(true);\n```\n\n## Manually show a contextMenu\n\nshow the contextMenu of the first element of the selector (position determined by determinePosition):\n\n```\n$(\".some-selector\").contextMenu();\n$(\".some-selector\").contextMenu({x: 123, y: 123});\n```\n\n## Manually hide a contextMenu\n\nhide the contextMenu of the first element of the selector:\n\n```\n$(\".some-selector\").contextMenu(\"hide\");\nUnregister contextMenu\n```\n\n## Unregister a specific contextMenu\n\nTo unregister / destroy a specific contextMenu:\n\n```\n$.contextMenu( 'destroy', selector );\n```\n\nselector expects the (string) selector that the contextMenu was registered to\n\n## Unregister all contextMenus\n\nTo unregister / destroy all contextMenus:\n\n```\n$.contextMenu( 'destroy' );\n```\n\n"
  },
  {
    "path": "documentation/docs/runtime-options.md",
    "content": "---\ncurrentMenu: runtime-options\n---\n\n# Runtime options (opt)\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [$node](#node)\n- [$input](#input)\n- [$label](#label)\n- [$menu](#menu)\n- [$trigger](#trigger)\n- [callbacks](#callbacks)\n- [commands](#commands)\n- [inputs](#inputs)\n- [hasTypes](#hastypes)\n- [ns](#ns)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\nThe runtime options are passed to most callbacks on registration. This gives you the ability to access DOM elemnts and configuration dynamicly.\n\nOne way of using these in in the general [callback](#callback) when an item is clicked.\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    items : {\n        name: \"textfield\",\n        type: \"text\",\n        value: \"welcome!\"\n    },    \n    callback: function(itemKey, opt){\n        // Alert the classes on the item that was clicked. \n        alert(opt.$node.attr('class'));\n        \n        // Alert \"welcome!\"\n        alert(opt.inputs[itemsKey].$input.val());\n    }\n});\n```\n\n### $selected\n\nReference to the `<li>` command element. \n\n`$selected`: `jQuery element`  \n\n### $input\n\nReference to the `<input>` or `<select>` of the command element.\n\n__Only available with [type](#type) \"text\", \"textarea\", \"checkbox\", \"radio\" and \"select\".__\n\n`$input`: `jQuery element`  \n\n\n### $label\n\nReference to the `<label>` of the command element.\n\n__Only available with [type](#type) \"text\", \"textarea\", \"checkbox\", \"radio\" and \"select\".__\n\n`$label`: `jQuery element`  \n\n\n### $menu\n\nOr the menu element of the contextmenu or the `<ul>` sub-menu element when called inside a submenu.  \n\n`$node`: `jQuery element`  \n\n\n### $trigger\n\nThe element triggering the menu.\n\n`$trigger`: `jQuery element`  \n\n\n### callbacks\n\nRegistered [callbacks](#callback) of all commands (including those of sub-menus). \n\nWarning: If you use the same keys for an item in any place, it will overwrite that callback here.\n\n`callbacks`: `array`  \n\n\n### commands\n\nRegistered commands (including those of sub-menus).\n\nWarning: If you use the same keys for an item in any place, it will overwrite that command here.\n\n`commands`: `array`  \n\n### inputs\n\nRegistered commands of input-type (including those of sub-menus).\n\nWarning: If you use the same keys for an item in any place, it will overwrite that command here.\n\nAccess a specific `<input>`: `opt.inputs[key].$input`\n\n`inputs`: `jQuery element`  \n\n\n### hasTypes\n\nflag denoting if the menu contains input elements.\n\n`hasTypes`: `jQuery element`  \n\n\n### ns\n\nThe namespace (including leading dot) all events for this contextMenu instance were registered under.\n\n`ns`: `string`  \n\n"
  },
  {
    "path": "documentation/docs.md",
    "content": "---\ncurrentMenu: options\n---\n# Documentation\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Register new contextMenu](#register-new-contextmenu)\n- [Update contextMenu state](#update-contextmenu-state)\n- [Options (at registration)](#options-at-registration)\n  - [selector](#selector)\n  - [items](#items)\n  - [appendTo](#appendto)\n  - [trigger](#trigger)\n  - [reposition](#reposition)\n  - [delay](#delay)\n  - [autoHide](#autohide)\n  - [zIndex](#zindex)\n  - [className](#classname)\n  - [classNames](#classnames)\n  - [animation](#animation)\n  - [events](#events)\n  - [position](#position)\n  - [determinePosition](#determineposition)\n  - [callback](#callback)\n  - [build](#build)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Register new contextMenu\n\nTo register a new contextMenu:\n\n* Note: For SVG support use jQuery >= 1.12|2.2\n\n```javascript\n$.contextMenu( options );\n```\n\n## Update contextMenu state\n\nIt is possible to refresh the state of the contextmenu [disabled](https://swisnl.github.io/jQuery-contextMenu/docs/items.html#disabled), [visibility](https://swisnl.github.io/jQuery-contextMenu/docs/items.html#visible), [icons](https://swisnl.github.io/jQuery-contextMenu/docs/items.html#icon) and [input values](https://swisnl.github.io/jQuery-contextMenu/docs/items.html#type) through the `update` command. This will reevaluate any custom callbacks. \n\n```javascript\n$('.context-menu-one').contextMenu('update'); // update single menu\n$.contextMenu('update') // update all open menus\n```\n\n## Options (at registration)\n\n### selector\n\nThe jQuery selector matching the elements to trigger on. This option is mandatory.\n\n`selector`: `string` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu'\n});\n```\n\n### items\n\nObject with [items](docs/items.html) to be listed in contextMenu. See [items](docs/items.html) for a full documentation on how to build your menu items.\n\n`items`: `object` Object containing [items](docs/items.html) objects.\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: '.context-menu',\n    items: {\n        copy: {\n            name: \"Copy\",\n            callback: function(key, opt){\n                alert(\"Clicked on \" + key);\n            }\n        }\n    }\n});\n```\n\n\n### appendTo\n\nSpecifies the selector string or DOMElement the generated menu is to be appended to.\n\n`appendTo`: `string` or `DOMElement` default: `document.body` \n\n\n#### Example\n```javascript\n// select the container with a selector\n$.contextMenu({\n    selector: 'span.context-menu',\n    appendTo: 'div#context-menus-container'\n});\n\n// select the container with a dom element\nvar element = document.getElementById('context-menus-container');\n$.contextMenu({\n    selector: 'span.context-menu',\n    appendTo: element\n});\n```\n\n\n### trigger\n\nSpecifies what event on the element specified in the [selector](#selector) triggers the contextmenu. \n\n`trigger`: `string` default: `'right'` \n\n\nValue | Description\n---- | ---- \n`right` | Right mouse button\n`left` | Left mouse button\n`hover` | Hover the element\n`touchstart` | Touchstart only\n`none` | No trigger\n\n#### Example\n```javascript\n// trigger with left mouse button\n$.contextMenu({\n    selector: 'span.context-menu',\n    trigger: 'left'\n});\n\n// trigger on hover\n$.contextMenu({\n    selector: 'span.context-menu',\n    trigger: 'hover'\n});\n```\n\n### hideOnSecondTrigger\n\nFlag denoting if a second trigger should close the menu, as long as the trigger happened on one of the trigger-element's child nodes.  This overrides the reposition option.\n            \n`hideOnSecondTrigger`: `boolean` default: `false`\n\n### selectableSubMenu\n \nSpecifies if menu items containing submenus should be clickable or not. \n\n`selectableSubMenu`: `boolean` default: `false` \n\nValue | Description\n---- | ---- \n`true` | All Enabled menu items, even containing others are clickable\n`false` | Items containing subitems are not clickable\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    selectableSubMenu: true\n});\n```\n\n### reposition\n\nSpecifies if a menu should be repositioned (`true`) or rebuilt (`false`) if a second [trigger](#trigger) event (like a right click) is performed on the same element (or its children) while the menu is still visible.\n\n`reposition`: `boolean` default: `true` \n\nValue | Description\n---- | ---- \n`true` | Reposition menu when triggered\n`false` | Rebuild menu when triggered\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    reposition: false\n});\n```\n\n\n### delay\n\nSpecifies the time in milliseconds to wait before showing the menu. Only applies to [trigger](#trigger): \"hover\"\n\n`delay`: `int` default: `200` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    delay: 500\n});\n```\n\n### autoHide\n\nSpecifies if the menu must be hidden when the mouse pointer is moved out of the [trigger](#trigger) and [menu items](#items).\n\n`autoHide`: `boolean` default: `false` \n\nValue | Description\n---- | ---- \n`true` | Hide the menu on mouseout \n`false` | Do not hide the menu on mouseout \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    autoHide: true\n});\n```\n\n### zIndex\n\nSpecifies the offset to add to the calculated zIndex of the [trigger](#trigger) element. Set to `0` to prevent zIndex manipulation. Can be a function that returns an int to calculate the zIndex on build.\n\n`zIndex`: `int`|`function` default: `1` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    zIndex: 10\n});\n\n$.contextMenu({\n    selector: 'span.context-menu',\n    zIndex: function($trigger, opt){\n        return 120;\n});\n```\n\n### className\n\nSpecifies additional classNames to add to the menu element. Seperate multiple classes by using spaces.\n\n`className`: `string`  \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    className: 'contextmenu-custom contextmenu-custom__highlight'\n});\n```\n\n\n### classNames\n\nSpecifies the base class names of the contextmenu elements. This can be used to change the class names of some classes that might conflict with frameworks like Bootstrap.\n\n`classNames`: `object`\n\n```javascript\n// Classname configuration to be able avoid conflicts in frameworks\nvar options = {\n    classNames : {\n    \n        hover:            'hover',          // Item hover\n        disabled:         'disabled',       // Item disabled\n        visible:          'visible',        // Item visible\n        notSelectable:    'not-selectable', // Item not selectable\n    \n        icon:             'context-menu-icon',           // Base icon class\n        iconEdit:         'context-menu-icon-edit',\n        iconCut:          'context-menu-icon-cut',\n        iconCopy:         'context-menu-icon-copy',\n        iconPaste:        'context-menu-icon-paste',\n        iconDelete:       'context-menu-icon-delete',\n        iconAdd:          'context-menu-icon-add',\n        iconQuit:         'context-menu-icon-quit',\n        iconLoadingClass: 'context-menu-icon-loading'\n    \n    }\n}\n```\n\n\n### animation\n\nAnimation properties take effect on showing and hiding the menu. Duration specifies the duration of the animation in milliseconds. `show` and `hide` specify [jQuery methods](http://api.jquery.com/category/effects/) to show and hide elements.\n\n`animation`: `object` default: `{duration: 500, show: 'slideDown', hide: 'slideUp'}` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    animation: `{duration: 250, show: 'fadeIn', hide: 'fadeOut'}`\n});\n```\n\n### events\n<!--  @todo runtime options object -->\nThe `show` and `hide` events are triggered *before* the menu is shown or hidden. The event handlers are executed in the context of the triggering object. This will thus reference the jQuery handle of the [trigger](#trigger) object.\n\nA reference to the current options object is passed, the options object is a collection of current options and references to the DOM nodes of the menu. The event handlers may return `false` to prevent the `show` or `hide` process.\n\n`events`: `object` \n\nValue | Description\n---- | ---- \n`events.preShow` | Called before show of the contextmenu, when returning false default browser context menu is shown\n`events.show` | Called on show of the contextmenu \n`events.hide` | Called before hide of the contextmenu\n`events.activated` | Called after activation of the contextmenu\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    events: {\n       show : function(options){\n            // Add class to the menu\n            this.addClass('currently-showing-menu');\n             \n            // Show an alert with the selector of the menu\n            if( confirm('Open menu with selector ' + options.selector + '?') === true ){\n                return true;\n            } else {\n                // Prevent the menu to be shown.\n                return false;\n            }            \n       },\n       hide : function(options){\n           if( confirm('Hide menu with selector ' + options.selector + '?') === true ){\n               return true;\n           } else {\n               // Prevent the menu to be hidden.\n               return false;\n           }            \n       },\n       activated : function(options){\n               if( confirm('Hide menu with selector ' + options.selector + '?') === true ){\n               console.log('Menu Activated');\n           }            \n       }\n});\n```\n\n### position\n\nCallback to override the position of the context menu. The function is executed in the context of the trigger object. \n\nThe first argument is the `$menu` jQuery object, which is the menu element. The second and third arguments are `x` and `y` coordinates provided by the `show` event.\n\nThe `x` and `y` may either be integers denoting the offset from the top left corner, `undefined`, or the string `\"maintain\"`. If the string `\"maintain\"` is provided, the current position of the `$menu` must be used. If the coordinates are `undefined`, appropriate coordinates must be determined. An example of how this can be achieved is provided with [determinePosition](#determinePosition).\n\n`position`: `function(opt.$menu, x, y)`\n\nValue `x` or `y` | Description\n---- | ---- \n`int` | Offset in pixels from top-left of trigger element.\n`\"maintain\"` | Maintain current `x` or `y` coordinate\n`undefined` | Unknown, [determinePosition](#determinePosition) is called.\n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    position: function(opt, x, y){\n        opt.$menu.css({top: 123, left: 123});\n    } \n});\n```\n\n### determinePosition\n\nDetermine the position of the menu in respect to the given [trigger](#trigger) object, this function is called when there is no `x` and `y` set on the [position](#position) call. \n\n`determinePosition`: `function(opt.$menu)`  \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    determinePosition: function($menu){\n        // Position using jQuery.ui.position \n        // http://api.jqueryui.com/position/\n        $menu.css('display', 'block')\n            .position({ my: \"center top\", at: \"center bottom\", of: this, offset: \"0 5\"})\n            .css('display', 'none');\n    }\n});\n```\n\n\n### callback\n<!-- @todo link item.callback -->\nSpecifies the default callback to be used in case an [item](#items) does not expose its own callback. The default callback behaves just like item.callback.\n\n`callback`: `function(itemKey, opt)` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    callback: function(itemKey, opt){ \n        // Alert the key of the item and the trigger element's id.\n        alert(\"Clicked on \" + itemKey + \" on element \" + opt.$trigger.attr(\"id\"));\n        \n        // Do not close the menu after clicking an item\n        return false;\n    }\n});\n```\n\n### build\n\nThe callback is executed with two arguments given: the jQuery reference to the triggering element and the original contextmenu event. It is executed without context (so this won't refer to anything useful).\n\nIf the build callback is found at registration, the menu is not built right away. The menu creation is delayed to the point where the menu is actually called to show. Dynamic menus don't stay in the DOM. After a menu created with build is hidden, its DOM-footprint is destroyed.\n\nWith build, only the options [selector](#selector) and [trigger](#trigger) may be specified in the [options](#options-at-registration) object. All other options need to be returned from the build callback.\n\nthe build callback may return a boolean false to signal contextMenu to not display a context menu\n\n`build`: `function($triggerElement, event)` \n\n#### Example\n```javascript\n$.contextMenu({\n    selector: 'span.context-menu',\n    build: function($triggerElement, e){\n        return {\n            callback: function(){},\n            items: {\n                menuItem: {name: \"My on demand menu item\"}\n            }\n        };\n    }\n});\n```\n\n### itemClickEvent\n\nAllows the selection of the `click` event instead of the `mouseup` event to handle the user mouse interaction with the contexMenu. The default event is `mouseup`. Set the option to `\"click\"` to change to the `click` event.\n\n`itemClickEvent`: `\"click\"`\n\nThis option is global: the first contexMenu registered sets it. To change it afterwards all the contextMenu have to be unregistered  with `$.contextMenu( 'destroy' );` before the change has effect again.  \n\n"
  },
  {
    "path": "documentation/index.md",
    "content": "---\ncurrentMenu: introduction\n---\n\n# [jQuery contextMenu](https://github.com/swisnl/jQuery-contextMenu)\n\n## Contextmenu plugin & polyfill\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n- [Features](#features)\n- [Authors](#authors)\n- [License](#license)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\nThe contextMenu Plugin was designed for web applications in need of menus on a possibly large amount of objects. Unlike implementations as [a beautiful site's](http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin/) or [trendskitchens'](http://www.trendskitchens.co.nz/jquery/contextmenu/) this contextMenu treats the menu as the primary object. That means, that a single menu is defined that can be used by multiple objects. Unlike the mentioned plugins, contextMenu doesn't need to bind itself to triggering objects. This allows injecting and removing triggers without having to re-initialize or update contextMenu.\n\n![context menu rendered by $.contextMenu](screenshots/jquery-contextMenu.subs.png) \n\ncontextMenu can provide a simple list of clickable commands, or offer an in-menu form. This makes very simple attribute modification possible. See the [input example](demo/input.html).\n\nOnce a menu is registered, it cannot be altered. That means no commands can be added or removed from the menu. This allows contextMenu to keep a single definition in memory, which enables it to work with hundreds of trigger objects. contextMenu knows the two callbacks _show_ and _hide_ which can be used to update the state of commands within the menu. This allows en/disabling commands, changing icons or updating the values of contained `<input>` elements.\n\nAs of version 1.5 context menus can be created dynamically. That means the described behavior (once created, cannot be altered) still applies - but can be circumvented. Menus can be created on demand and they can be different depending on the triggering element.\n\n## Getting started\n\nIf you use NPM, install the `jquery-contextmenu` and include it in your build process.\n\nIf you just want to load the library into your website you can either donwload the contents of the `dist` folder or use [cdnjs.com](https://cdnjs.com/libraries/jquery-contextmenu).\n\n```\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.7.1/jquery.contextMenu.min.css\">\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.7.1/jquery.contextMenu.min.js\"></script>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.7.1/jquery.ui.position.js\"></script>\n```\n\n1. Download contents of the `dist` folder of this library to you project site, for example to `scripts/contextmenu`\n2. `<script src=\"scripts/jquery-3.2.1.min.js\"></script>`\n3. `<script src=\"scripts/contextmenu/jquery.contextMenu.js\"></script>`\n4. `<script src=\"scripts/contextmenu/jquery.ui.position.min.js\"></script>`\n5. `<link rel=\"stylesheet\" href=\"scripts/contextmenu/jquery.contextMenu.min.css\">`\n\n## Features\n\n*   trigger contextMenu with right-click, [left-click](demo/trigger-left-click.html), [hover](demo/trigger-hover.html) or own [custom trigger](demo/trigger-custom.html) events\n*   delegated event handling removing the need for re-initialization when trigger objects are [added / removed](demo/dynamic.html)\n*   dynamic [on-demand](demo/dynamic-create.html) menu creation\n*   optional icons for commands\n*   [input elements](demo/input.html) (text, textarea, checkbox, radio, select) within the menu\n*   custom html elements (command free)\n*   show/hide callbacks to update the state of commands\n*   small memory footprint even with hundreds of trigger objects\n*   adjust position of menu to fit in viewport\n*   [enable / disable](demo/disabled-changing.html) commands\n*   nested [sub-menus](demo/sub-menus.html)\n*   full keyboard interaction\n*   [HTML5 `<menu>`](demo/html5-import.html) support\n*   CSS is for styling, javascript is not...\n\n## Authors\n\n*   [Björn Brala (SWIS)](http://www.swis.nl/over-ons/bjorn-brala)\n*   [Rodney Rehm](http://rodneyrehm.de/en/)\n*   [Christian Baartse](https://github.com/christiaan) (single callback per menu)\n*   [Addy Osmani](https://github.com/addyosmani) (compatibility with native context menu in Firefox 8)\n\n## License\n\n$.contextMenu is published under the [MIT license](http://www.opensource.org/licenses/mit-license).\n"
  },
  {
    "path": "documentation/website/.gitignore",
    "content": "/.couscous/\n/bower_components/\n"
  },
  {
    "path": "documentation/website/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Dave Snider\nCopyright (c) 2015 Matthieu Napoli\n\nThis project was forked of the work by Dave Sniper at https://github.com/snide/sphinx_rtd_theme\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "documentation/website/README.md",
    "content": "<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n\n\n  - [](#)\n  - [currentMenu: home\n](#currentmenu-home)\n- [Read The Docs template for Couscous](#read-the-docs-template-for-couscous)\n  - [Usage](#usage)\n  - [Configuration](#configuration)\n  - [Menu](#menu)\n  - [```markdown\n](#markdown)\n  - [currentMenu: home\n](#currentmenu-home-1)\n  - [TODO](#todo)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n---\ncurrentMenu: home\n---\n\n# Read The Docs template for Couscous\n\n[Read The Docs](https://readthedocs.org/) builds websites using a Sphinx theme. [That theme](https://github.com/snide/sphinx_rtd_theme) is open source and released under the MIT license.\n\nThis project is a port of the Sphinx theme to Couscous.\n\n![](screenshot.png)\n\n## Usage\n\nTo use the template, set it up in your `couscous.yml` configuration file:\n\n```yaml\ntemplate:\n    url: https://github.com/CouscousPHP/Template-ReadTheDocs\n```\n\n## Configuration\n\nHere are all the variables you can set in your `couscous.yml`:\n\n```yaml\n# Base URL of the published website\nbaseUrl: http://username.github.io/project\n\n# Used to link to the GitHub project\ngithub:\n    user: myself\n    repo: my-project\n\ntitle: My project\nsubTitle: This is a great project.\n\n# The left menu bar\nmenu:\n    items:\n        home:\n            text: FAQ\n            # You can use relative urls\n            relativeUrl: doc/faq.html\n        foo:\n            text: Another link\n            # Or absolute urls\n            absoluteUrl: https://example.com\n```\n\nNote that the menu items can also contain HTML:\n\n```yaml\nhome:\n    text: \"<i class=\\\"fa fa-github\\\"></i> FAQ\"\n    relativeUrl: doc/faq.html\n```\n\n## Menu\n\nTo set the current menu item (i.e. highlighted menu item), set the `currentMenu`\nkey in the Markdown files:\n\n```markdown\n---\ncurrentMenu: home\n---\n\n# Welcome\n```\n\n## TODO\n\nWant to help?\n\nThe original template came with a lot of SASS files and features. Some features are not ported to this Couscous template (e.g. the search).\n\nWhat would be good to do:\n\n- find a way to cleanly handle the SASS files and the `theme.css` (which contains the generated/minified CSS) which right now are duplicates. Relying on SASS wouldn't be a good idea though since it would be end-users have to install SASS.\n- clean up unused CSS and SASS style (e.g. search bar, …)\n\nIn the meantime, the original minified `theme.css` is used and it works just great.\n"
  },
  {
    "path": "documentation/website/couscous.yml",
    "content": "template:\n    directory: .\n\ngithub:\n    user: CouscousPHP\n    repo: Template-ReadTheDocs\n\ntitle: ReadTheDocs template\nsubTitle: A template based on readthedocs.org\n\n# The left menu bar\nmenu:\n    items:\n        home:\n            text: Home page\n            # You can use relative urls\n            relativeUrl:\n        getting-started:\n            text: Getting Started\n            relativeUrl:\n        faq:\n            text: FAQ\n            relativeUrl:\n        couscous:\n            text: Couscous.io\n            # Or absolute urls\n            absoluteUrl: http://couscous.io\n"
  },
  {
    "path": "documentation/website/css/screen.css",
    "content": "html .icon  {\n    display:block;\n}\n\n.rst-content ul {\n    margin-bottom:24px;\n}\n.rst-content ul li {\n    line-height:24px;\n}\n\nh3 {\n    color:#2980B9;\n}\n\nh4,h5,h6 {\n    color:#195176;\n}\n\n.maintained-by-swis {\n    float:right;\n    margin-right:0;\n}\n.edit-on-github {\n    float:right;\n    /*margin-right:20px;*/\n}\n\nbody .wy-side-nav-search > a {\n    padding-left:0;\n}\n\nbody .wy-side-nav-search {\n    background-color: #1C7F99;\n    text-align: left;\n    padding:0.4045em 1.618em;\n\n}\n\n.clear {\n    clear:both;\n}\n\n.wy-table-responsive table.docutils {\n    max-width: 695px;\n}\n\n.swis-branding {\n    display: block;\n    position: fixed;\n    left:0;\n    bottom:0;\n    color:#b3b3b3;\n    font-size:14px;\n    width:300px;\n    padding:10px;\n    background:#343131;\n}\n\ndiv.swis-branding a:hover {\n    background:none;\n    text-decoration: underline;\n}\n\ndiv.swis-branding a {\n    display: block;\n    line-height: 46px;\n    margin: 5px 0 -10px;\n    text-align: left;\n    padding:0;\n}\ndiv.swis-branding .swis-logo {\n    width:70px;\n    float:left;\n    clear:left;\n    margin-right:10px;\n}\n\nhtml body {\n    padding-bottom:150px;\n}\n\n\n/*****************\n******************\n* HTML Element stijlen\n*\n* Vergeet deze niet over te nemen in editor.css (body ==> #tinymce)\n*****************/\n\n@font-face {\n    /*    font-family: 'proxima_nova_rgregular';*/\n    font-family: 'Proxima Nova';\n    src: url('../fonts/ProximaNova-Reg-webfont.eot');\n    src: local('☺'),\n    url('../fonts/ProximaNova-Reg-webfont.svg#proxima_nova_rgregular') format('svg'),\n    url('../fonts/ProximaNova-Reg-webfont.eot?#iefix') format('embedded-opentype'),\n    url('../fonts/ProximaNova-Reg-webfont.woff') format('woff'),\n    url('../fonts/ProximaNova-Reg-webfont.ttf') format('truetype');\n    font-weight: normal;\n    font-style: normal;\n\n}\n\n@font-face {\n    /*font-family: 'proxima_nova_ltsemibold';*/\n    font-family: 'Proxima Nova';\n    src: url('../fonts/ProximaNova-Sbold-webfont.eot');\n    src: local('☺'),\n    url('../fonts/ProximaNova-Sbold-webfont.svg#proxima_nova_ltsemibold') format('svg'),\n    url('../fonts/ProximaNova-Sbold-webfont.eot?#iefix') format('embedded-opentype'),\n    url('../fonts/ProximaNova-Sbold-webfont.woff') format('woff'),\n    url('../fonts/ProximaNova-Sbold-webfont.ttf') format('truetype');\n    font-weight: bold;\n    font-style: normal;\n\n}\n\n@font-face {\n    font-family: 'Proxima Nova Bold';\n    src: url('../fonts/oud/proximanova-bold.eot.eot');\n    src: local('☺'),\n    url('../fonts/oud/proximanova-bold.svg#proxima_nova_ltbold') format('svg'),\n    url('../fonts/oud/proximanova-bold.eot?#iefix') format('embedded-opentype'),\n    url('../fonts/oud/proximanova-bold.woff') format('woff'),\n    url('../fonts/oud/proximanova-bold.ttf.ttf') format('truetype');\n    font-weight: bold;\n    font-style: normal;\n}\n\n/**\n * @license\n * MyFonts Webfont Build ID 2970176, 2015-02-11T06:20:04-0500\n *\n * The fonts listed in this notice are subject to the End User License\n * Agreement(s) entered into by the website owner. All other parties are\n * explicitly restricted from using the Licensed Webfonts(s).\n *\n * You may obtain a valid license at the URLs below.\n *\n * Webfont: ProximaNovaA-Light by Mark Simonson\n * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/a-light/\n *\n * Webfont: ProximaNovaS-Light by Mark Simonson\n * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/s-light/\n *\n * Webfont: ProximaNova-Light by Mark Simonson\n * URL: http://www.myfonts.com/fonts/marksimonson/proxima-nova/light/\n *\n *\n * License: http://www.myfonts.com/viewlicense?type=web&buildid=2970176\n * Licensed pageviews: 1,000,000\n * Webfonts copyright: Copyright (c) Mark Simonson, 2005. All rights reserved.\n *\n * © 2015 MyFonts Inc\n*/\n\n\n/* @import must be at top of file, otherwise CSS will not work */\n@import url(\"//hello.myfonts.net/count/2d5240\");\n\n@font-face {\n    font-family: 'ProximaNova-Light';\n    src: url('../fonts/2D5240_2_0.eot');\n    src: url('../fonts/2D5240_2_0.eot?#iefix') format('embedded-opentype'),\n    url('../fonts/2D5240_2_0.woff2') format('woff2'),\n    url('../fonts/2D5240_2_0.woff') format('woff'),\n    url('../fonts/2D5240_2_0.ttf') format('truetype');\n    font-weight: 100;\n    font-style: normal;\n}\n"
  },
  {
    "path": "documentation/website/css/theme-fixes.css",
    "content": ".wy-side-nav-search>a, .wy-side-nav-search .wy-dropdown>a {\n    margin-bottom: 0;\n}\n\n/* Code blocks */\npre > code {\n    display: block;\n    font-size: 12px;\n    white-space: inherit;\n    max-width: inherit;\n    background: transparent;\n    border: none;\n    overflow-x: auto;\n    padding: 0.5em;\n    color: #333;\n}\npre > code.hljs {\n    background: transparent;\n}\npre {\n    border: 1px solid #e1e4e5;\n    background: #fff;\n    margin: 1px 0 24px 0;\n}\n"
  },
  {
    "path": "documentation/website/css/theme.css",
    "content": "﻿* {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box\n}\n\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section {\n    display: block\n}\n\naudio, canvas, video {\n    display: inline-block;\n    *display: inline;\n    *zoom: 1\n}\n\naudio:not([controls]) {\n    display: none\n}\n\n[hidden] {\n    display: none\n}\n\n* {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box\n}\n\nhtml {\n    font-size: 100%;\n    -webkit-text-size-adjust: 100%;\n    -ms-text-size-adjust: 100%\n}\n\nbody {\n    margin: 0\n}\n\na:hover, a:active {\n    outline: 0\n}\n\nabbr[title] {\n    border-bottom: 1px dotted\n}\n\nb, strong {\n    font-weight: bold\n}\n\nblockquote {\n    margin: 0\n}\n\ndfn {\n    font-style: italic\n}\n\nins {\n    background: #ff9;\n    color: #000;\n    text-decoration: none\n}\n\nmark {\n    background: #ff0;\n    color: #000;\n    font-style: italic;\n    font-weight: bold\n}\n\npre, code, .rst-content tt, kbd, samp {\n    font-family: monospace, serif;\n    _font-family: \"courier new\", monospace;\n    font-size: 1em\n}\n\npre {\n    white-space: pre\n}\n\nq {\n    quotes: none\n}\n\nq:before, q:after {\n    content: \"\";\n    content: none\n}\n\nsmall {\n    font-size: 85%\n}\n\nsub, sup {\n    font-size: 75%;\n    line-height: 0;\n    position: relative;\n    vertical-align: baseline\n}\n\nsup {\n    top: -0.5em\n}\n\nsub {\n    bottom: -0.25em\n}\n\nnav ul, nav ol, nav dl {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    list-style-image: none\n}\n\nnav li {\n    list-style: none\n}\n\ndd {\n    margin: 0\n}\n\nimg {\n    border: 0;\n    -ms-interpolation-mode: bicubic;\n    vertical-align: middle;\n    max-width: 100%\n}\n\nsvg:not(:root) {\n    overflow: hidden\n}\n\nfigure {\n    margin: 0\n}\n\nform {\n    margin: 0\n}\n\nfieldset {\n    border: 0;\n    margin: 0;\n    padding: 0\n}\n\nlabel {\n    cursor: pointer\n}\n\nlegend {\n    border: 0;\n    *margin-left: -7px;\n    padding: 0;\n    white-space: normal\n}\n\nbutton, input, select, textarea {\n    font-size: 100%;\n    margin: 0;\n    vertical-align: baseline;\n    *vertical-align: middle\n}\n\nbutton, input {\n    line-height: normal\n}\n\nbutton, input[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] {\n    cursor: pointer;\n    -webkit-appearance: button;\n    *overflow: visible\n}\n\nbutton[disabled], input[disabled] {\n    cursor: default\n}\n\ninput[type=\"checkbox\"], input[type=\"radio\"] {\n    box-sizing: border-box;\n    padding: 0;\n    *width: 13px;\n    *height: 13px\n}\n\ninput[type=\"search\"] {\n    -webkit-appearance: textfield;\n    -moz-box-sizing: content-box;\n    -webkit-box-sizing: content-box;\n    box-sizing: content-box\n}\n\ninput[type=\"search\"]::-webkit-search-decoration, input[type=\"search\"]::-webkit-search-cancel-button {\n    -webkit-appearance: none\n}\n\nbutton::-moz-focus-inner, input::-moz-focus-inner {\n    border: 0;\n    padding: 0\n}\n\ntextarea {\n    overflow: auto;\n    vertical-align: top;\n    resize: vertical\n}\n\ntable {\n    border-collapse: collapse;\n    border-spacing: 0\n}\n\ntd {\n    vertical-align: top\n}\n\n.chromeframe {\n    margin: 0.2em 0;\n    background: #ccc;\n    color: #000;\n    padding: 0.2em 0\n}\n\n.ir {\n    display: block;\n    border: 0;\n    text-indent: -999em;\n    overflow: hidden;\n    background-color: transparent;\n    background-repeat: no-repeat;\n    text-align: left;\n    direction: ltr;\n    *line-height: 0\n}\n\n.ir br {\n    display: none\n}\n\n.hidden {\n    display: none !important;\n    visibility: hidden\n}\n\n.visuallyhidden {\n    border: 0;\n    clip: rect(0 0 0 0);\n    height: 1px;\n    margin: -1px;\n    overflow: hidden;\n    padding: 0;\n    position: absolute;\n    width: 1px\n}\n\n.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {\n    clip: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    position: static;\n    width: auto\n}\n\n.invisible {\n    visibility: hidden\n}\n\n.relative {\n    position: relative\n}\n\nbig, small {\n    font-size: 100%\n}\n\n@media print {\n    html, body, section {\n        background: none !important\n    }\n\n    * {\n        box-shadow: none !important;\n        text-shadow: none !important;\n        filter: none !important;\n        -ms-filter: none !important\n    }\n\n    a, a:visited {\n        text-decoration: underline\n    }\n\n    .ir a:after, a[href^=\"javascript:\"]:after, a[href^=\"#\"]:after {\n        content: \"\"\n    }\n\n    pre, blockquote {\n        page-break-inside: avoid\n    }\n\n    thead {\n        display: table-header-group\n    }\n\n    tr, img {\n        page-break-inside: avoid\n    }\n\n    img {\n        max-width: 100% !important\n    }\n\n    @page {\n        margin: 0.5cm\n    }\n\n    p, h2, h3 {\n        orphans: 3;\n        widows: 3\n    }\n\n    h2, h3 {\n        page-break-after: avoid\n    }\n}\n\n.fa:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo, .btn, input[type=\"text\"], input[type=\"password\"], input[type=\"email\"], input[type=\"url\"], input[type=\"date\"], input[type=\"month\"], input[type=\"time\"], input[type=\"datetime\"], input[type=\"datetime-local\"], input[type=\"week\"], input[type=\"number\"], input[type=\"search\"], input[type=\"tel\"], input[type=\"color\"], select, textarea, .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a, .wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a, .wy-nav-top a {\n    -webkit-font-smoothing: antialiased\n}\n\n.clearfix {\n    *zoom: 1\n}\n\n.clearfix:before, .clearfix:after {\n    display: table;\n    content: \"\"\n}\n\n.clearfix:after {\n    clear: both\n}\n\n/*!\n *  Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n@font-face {\n    font-family: 'FontAwesome';\n    src: url(\"../fonts/fontawesome-webfont.eot?v=4.1.0\");\n    src: url(\"../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0\") format(\"embedded-opentype\"), url(\"../fonts/fontawesome-webfont.woff?v=4.1.0\") format(\"woff\"), url(\"../fonts/fontawesome-webfont.ttf?v=4.1.0\") format(\"truetype\"), url(\"../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular\") format(\"svg\");\n    font-weight: normal;\n    font-style: normal\n}\n\n.fa, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .icon {\n    display: inline-block;\n    font-family: FontAwesome;\n    font-style: normal;\n    font-weight: normal;\n    line-height: 1;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale\n}\n\n.fa-lg {\n    font-size: 1.33333em;\n    line-height: 0.75em;\n    vertical-align: -15%\n}\n\n.fa-2x {\n    font-size: 2em\n}\n\n.fa-3x {\n    font-size: 3em\n}\n\n.fa-4x {\n    font-size: 4em\n}\n\n.fa-5x {\n    font-size: 5em\n}\n\n.fa-fw {\n    width: 1.28571em;\n    text-align: center\n}\n\n.fa-ul {\n    padding-left: 0;\n    margin-left: 2.14286em;\n    list-style-type: none\n}\n\n.fa-ul > li {\n    position: relative\n}\n\n.fa-li {\n    position: absolute;\n    left: -2.14286em;\n    width: 2.14286em;\n    top: 0.14286em;\n    text-align: center\n}\n\n.fa-li.fa-lg {\n    left: -1.85714em\n}\n\n.fa-border {\n    padding: .2em .25em .15em;\n    border: solid 0.08em #eee;\n    border-radius: .1em\n}\n\n.pull-right {\n    float: right\n}\n\n.pull-left {\n    float: left\n}\n\n.fa.pull-left, .rst-content .pull-left.admonition-title, .rst-content h1 .pull-left.headerlink, .rst-content h2 .pull-left.headerlink, .rst-content h3 .pull-left.headerlink, .rst-content h4 .pull-left.headerlink, .rst-content h5 .pull-left.headerlink, .rst-content h6 .pull-left.headerlink, .rst-content dl dt .pull-left.headerlink, .pull-left.icon {\n    margin-right: .3em\n}\n\n.fa.pull-right, .rst-content .pull-right.admonition-title, .rst-content h1 .pull-right.headerlink, .rst-content h2 .pull-right.headerlink, .rst-content h3 .pull-right.headerlink, .rst-content h4 .pull-right.headerlink, .rst-content h5 .pull-right.headerlink, .rst-content h6 .pull-right.headerlink, .rst-content dl dt .pull-right.headerlink, .pull-right.icon {\n    margin-left: .3em\n}\n\n.fa-spin {\n    -webkit-animation: spin 2s infinite linear;\n    -moz-animation: spin 2s infinite linear;\n    -o-animation: spin 2s infinite linear;\n    animation: spin 2s infinite linear\n}\n\n@-moz-keyframes spin {\n    0% {\n        -moz-transform: rotate(0deg)\n    }\n    100% {\n        -moz-transform: rotate(359deg)\n    }\n}\n\n@-webkit-keyframes spin {\n    0% {\n        -webkit-transform: rotate(0deg)\n    }\n    100% {\n        -webkit-transform: rotate(359deg)\n    }\n}\n\n@-o-keyframes spin {\n    0% {\n        -o-transform: rotate(0deg)\n    }\n    100% {\n        -o-transform: rotate(359deg)\n    }\n}\n\n@keyframes spin {\n    0% {\n        -webkit-transform: rotate(0deg);\n        transform: rotate(0deg)\n    }\n    100% {\n        -webkit-transform: rotate(359deg);\n        transform: rotate(359deg)\n    }\n}\n\n.fa-rotate-90 {\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n    -webkit-transform: rotate(90deg);\n    -moz-transform: rotate(90deg);\n    -ms-transform: rotate(90deg);\n    -o-transform: rotate(90deg);\n    transform: rotate(90deg)\n}\n\n.fa-rotate-180 {\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n    -webkit-transform: rotate(180deg);\n    -moz-transform: rotate(180deg);\n    -ms-transform: rotate(180deg);\n    -o-transform: rotate(180deg);\n    transform: rotate(180deg)\n}\n\n.fa-rotate-270 {\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n    -webkit-transform: rotate(270deg);\n    -moz-transform: rotate(270deg);\n    -ms-transform: rotate(270deg);\n    -o-transform: rotate(270deg);\n    transform: rotate(270deg)\n}\n\n.fa-flip-horizontal {\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);\n    -webkit-transform: scale(-1, 1);\n    -moz-transform: scale(-1, 1);\n    -ms-transform: scale(-1, 1);\n    -o-transform: scale(-1, 1);\n    transform: scale(-1, 1)\n}\n\n.fa-flip-vertical {\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n    -webkit-transform: scale(1, -1);\n    -moz-transform: scale(1, -1);\n    -ms-transform: scale(1, -1);\n    -o-transform: scale(1, -1);\n    transform: scale(1, -1)\n}\n\n.fa-stack {\n    position: relative;\n    display: inline-block;\n    width: 2em;\n    height: 2em;\n    line-height: 2em;\n    vertical-align: middle\n}\n\n.fa-stack-1x, .fa-stack-2x {\n    position: absolute;\n    left: 0;\n    width: 100%;\n    text-align: center\n}\n\n.fa-stack-1x {\n    line-height: inherit\n}\n\n.fa-stack-2x {\n    font-size: 2em\n}\n\n.fa-inverse {\n    color: #fff\n}\n\n.fa-glass:before {\n    content: \"\"\n}\n\n.fa-music:before {\n    content: \"\"\n}\n\n.fa-search:before, .icon-search:before {\n    content: \"\"\n}\n\n.fa-envelope-o:before {\n    content: \"\"\n}\n\n.fa-heart:before {\n    content: \"\"\n}\n\n.fa-star:before {\n    content: \"\"\n}\n\n.fa-star-o:before {\n    content: \"\"\n}\n\n.fa-user:before {\n    content: \"\"\n}\n\n.fa-film:before {\n    content: \"\"\n}\n\n.fa-th-large:before {\n    content: \"\"\n}\n\n.fa-th:before {\n    content: \"\"\n}\n\n.fa-th-list:before {\n    content: \"\"\n}\n\n.fa-check:before {\n    content: \"\"\n}\n\n.fa-times:before {\n    content: \"\"\n}\n\n.fa-search-plus:before {\n    content: \"\"\n}\n\n.fa-search-minus:before {\n    content: \"\"\n}\n\n.fa-power-off:before {\n    content: \"\"\n}\n\n.fa-signal:before {\n    content: \"\"\n}\n\n.fa-gear:before, .fa-cog:before {\n    content: \"\"\n}\n\n.fa-trash-o:before {\n    content: \"\"\n}\n\n.fa-home:before, .icon-home:before {\n    content: \"\"\n}\n\n.fa-file-o:before {\n    content: \"\"\n}\n\n.fa-clock-o:before {\n    content: \"\"\n}\n\n.fa-road:before {\n    content: \"\"\n}\n\n.fa-download:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-o-down:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-o-up:before {\n    content: \"\"\n}\n\n.fa-inbox:before {\n    content: \"\"\n}\n\n.fa-play-circle-o:before {\n    content: \"\"\n}\n\n.fa-rotate-right:before, .fa-repeat:before {\n    content: \"\"\n}\n\n.fa-refresh:before {\n    content: \"\"\n}\n\n.fa-list-alt:before {\n    content: \"\"\n}\n\n.fa-lock:before {\n    content: \"\"\n}\n\n.fa-flag:before {\n    content: \"\"\n}\n\n.fa-headphones:before {\n    content: \"\"\n}\n\n.fa-volume-off:before {\n    content: \"\"\n}\n\n.fa-volume-down:before {\n    content: \"\"\n}\n\n.fa-volume-up:before {\n    content: \"\"\n}\n\n.fa-qrcode:before {\n    content: \"\"\n}\n\n.fa-barcode:before {\n    content: \"\"\n}\n\n.fa-tag:before {\n    content: \"\"\n}\n\n.fa-tags:before {\n    content: \"\"\n}\n\n.fa-book:before, .icon-book:before {\n    content: \"\"\n}\n\n.fa-bookmark:before {\n    content: \"\"\n}\n\n.fa-print:before {\n    content: \"\"\n}\n\n.fa-camera:before {\n    content: \"\"\n}\n\n.fa-font:before {\n    content: \"\"\n}\n\n.fa-bold:before {\n    content: \"\"\n}\n\n.fa-italic:before {\n    content: \"\"\n}\n\n.fa-text-height:before {\n    content: \"\"\n}\n\n.fa-text-width:before {\n    content: \"\"\n}\n\n.fa-align-left:before {\n    content: \"\"\n}\n\n.fa-align-center:before {\n    content: \"\"\n}\n\n.fa-align-right:before {\n    content: \"\"\n}\n\n.fa-align-justify:before {\n    content: \"\"\n}\n\n.fa-list:before {\n    content: \"\"\n}\n\n.fa-dedent:before, .fa-outdent:before {\n    content: \"\"\n}\n\n.fa-indent:before {\n    content: \"\"\n}\n\n.fa-video-camera:before {\n    content: \"\"\n}\n\n.fa-photo:before, .fa-image:before, .fa-picture-o:before {\n    content: \"\"\n}\n\n.fa-pencil:before {\n    content: \"\"\n}\n\n.fa-map-marker:before {\n    content: \"\"\n}\n\n.fa-adjust:before {\n    content: \"\"\n}\n\n.fa-tint:before {\n    content: \"\"\n}\n\n.fa-edit:before, .fa-pencil-square-o:before {\n    content: \"\"\n}\n\n.fa-share-square-o:before {\n    content: \"\"\n}\n\n.fa-check-square-o:before {\n    content: \"\"\n}\n\n.fa-arrows:before {\n    content: \"\"\n}\n\n.fa-step-backward:before {\n    content: \"\"\n}\n\n.fa-fast-backward:before {\n    content: \"\"\n}\n\n.fa-backward:before {\n    content: \"\"\n}\n\n.fa-play:before {\n    content: \"\"\n}\n\n.fa-pause:before {\n    content: \"\"\n}\n\n.fa-stop:before {\n    content: \"\"\n}\n\n.fa-forward:before {\n    content: \"\"\n}\n\n.fa-fast-forward:before {\n    content: \"\"\n}\n\n.fa-step-forward:before {\n    content: \"\"\n}\n\n.fa-eject:before {\n    content: \"\"\n}\n\n.fa-chevron-left:before {\n    content: \"\"\n}\n\n.fa-chevron-right:before {\n    content: \"\"\n}\n\n.fa-plus-circle:before {\n    content: \"\"\n}\n\n.fa-minus-circle:before {\n    content: \"\"\n}\n\n.fa-times-circle:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before {\n    content: \"\"\n}\n\n.fa-check-circle:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before {\n    content: \"\"\n}\n\n.fa-question-circle:before {\n    content: \"\"\n}\n\n.fa-info-circle:before {\n    content: \"\"\n}\n\n.fa-crosshairs:before {\n    content: \"\"\n}\n\n.fa-times-circle-o:before {\n    content: \"\"\n}\n\n.fa-check-circle-o:before {\n    content: \"\"\n}\n\n.fa-ban:before {\n    content: \"\"\n}\n\n.fa-arrow-left:before {\n    content: \"\"\n}\n\n.fa-arrow-right:before {\n    content: \"\"\n}\n\n.fa-arrow-up:before {\n    content: \"\"\n}\n\n.fa-arrow-down:before {\n    content: \"\"\n}\n\n.fa-mail-forward:before, .fa-share:before {\n    content: \"\"\n}\n\n.fa-expand:before {\n    content: \"\"\n}\n\n.fa-compress:before {\n    content: \"\"\n}\n\n.fa-plus:before {\n    content: \"\"\n}\n\n.fa-minus:before {\n    content: \"\"\n}\n\n.fa-asterisk:before {\n    content: \"\"\n}\n\n.fa-exclamation-circle:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before, .rst-content .admonition-title:before {\n    content: \"\"\n}\n\n.fa-gift:before {\n    content: \"\"\n}\n\n.fa-leaf:before {\n    content: \"\"\n}\n\n.fa-fire:before, .icon-fire:before {\n    content: \"\"\n}\n\n.fa-eye:before {\n    content: \"\"\n}\n\n.fa-eye-slash:before {\n    content: \"\"\n}\n\n.fa-warning:before, .fa-exclamation-triangle:before {\n    content: \"\"\n}\n\n.fa-plane:before {\n    content: \"\"\n}\n\n.fa-calendar:before {\n    content: \"\"\n}\n\n.fa-random:before {\n    content: \"\"\n}\n\n.fa-comment:before {\n    content: \"\"\n}\n\n.fa-magnet:before {\n    content: \"\"\n}\n\n.fa-chevron-up:before {\n    content: \"\"\n}\n\n.fa-chevron-down:before {\n    content: \"\"\n}\n\n.fa-retweet:before {\n    content: \"\"\n}\n\n.fa-shopping-cart:before {\n    content: \"\"\n}\n\n.fa-folder:before {\n    content: \"\"\n}\n\n.fa-folder-open:before {\n    content: \"\"\n}\n\n.fa-arrows-v:before {\n    content: \"\"\n}\n\n.fa-arrows-h:before {\n    content: \"\"\n}\n\n.fa-bar-chart-o:before {\n    content: \"\"\n}\n\n.fa-twitter-square:before {\n    content: \"\"\n}\n\n.fa-facebook-square:before {\n    content: \"\"\n}\n\n.fa-camera-retro:before {\n    content: \"\"\n}\n\n.fa-key:before {\n    content: \"\"\n}\n\n.fa-gears:before, .fa-cogs:before {\n    content: \"\"\n}\n\n.fa-comments:before {\n    content: \"\"\n}\n\n.fa-thumbs-o-up:before {\n    content: \"\"\n}\n\n.fa-thumbs-o-down:before {\n    content: \"\"\n}\n\n.fa-star-half:before {\n    content: \"\"\n}\n\n.fa-heart-o:before {\n    content: \"\"\n}\n\n.fa-sign-out:before {\n    content: \"\"\n}\n\n.fa-linkedin-square:before {\n    content: \"\"\n}\n\n.fa-thumb-tack:before {\n    content: \"\"\n}\n\n.fa-external-link:before {\n    content: \"\"\n}\n\n.fa-sign-in:before {\n    content: \"\"\n}\n\n.fa-trophy:before {\n    content: \"\"\n}\n\n.fa-github-square:before {\n    content: \"\"\n}\n\n.fa-upload:before {\n    content: \"\"\n}\n\n.fa-lemon-o:before {\n    content: \"\"\n}\n\n.fa-phone:before {\n    content: \"\"\n}\n\n.fa-square-o:before {\n    content: \"\"\n}\n\n.fa-bookmark-o:before {\n    content: \"\"\n}\n\n.fa-phone-square:before {\n    content: \"\"\n}\n\n.fa-twitter:before {\n    content: \"\"\n}\n\n.fa-facebook:before {\n    content: \"\"\n}\n\n.fa-github:before, .icon-github:before {\n    content: \"\"\n}\n\n.fa-unlock:before {\n    content: \"\"\n}\n\n.fa-credit-card:before {\n    content: \"\"\n}\n\n.fa-rss:before {\n    content: \"\"\n}\n\n.fa-hdd-o:before {\n    content: \"\"\n}\n\n.fa-bullhorn:before {\n    content: \"\"\n}\n\n.fa-bell:before {\n    content: \"\"\n}\n\n.fa-certificate:before {\n    content: \"\"\n}\n\n.fa-hand-o-right:before {\n    content: \"\"\n}\n\n.fa-hand-o-left:before {\n    content: \"\"\n}\n\n.fa-hand-o-up:before {\n    content: \"\"\n}\n\n.fa-hand-o-down:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-left:before, .icon-circle-arrow-left:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-right:before, .icon-circle-arrow-right:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-up:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-down:before {\n    content: \"\"\n}\n\n.fa-globe:before {\n    content: \"\"\n}\n\n.fa-wrench:before {\n    content: \"\"\n}\n\n.fa-tasks:before {\n    content: \"\"\n}\n\n.fa-filter:before {\n    content: \"\"\n}\n\n.fa-briefcase:before {\n    content: \"\"\n}\n\n.fa-arrows-alt:before {\n    content: \"\"\n}\n\n.fa-group:before, .fa-users:before {\n    content: \"\"\n}\n\n.fa-chain:before, .fa-link:before, .icon-link:before {\n    content: \"\"\n}\n\n.fa-cloud:before {\n    content: \"\"\n}\n\n.fa-flask:before {\n    content: \"\"\n}\n\n.fa-cut:before, .fa-scissors:before {\n    content: \"\"\n}\n\n.fa-copy:before, .fa-files-o:before {\n    content: \"\"\n}\n\n.fa-paperclip:before {\n    content: \"\"\n}\n\n.fa-save:before, .fa-floppy-o:before {\n    content: \"\"\n}\n\n.fa-square:before {\n    content: \"\"\n}\n\n.fa-navicon:before, .fa-reorder:before, .fa-bars:before {\n    content: \"\"\n}\n\n.fa-list-ul:before {\n    content: \"\"\n}\n\n.fa-list-ol:before {\n    content: \"\"\n}\n\n.fa-strikethrough:before {\n    content: \"\"\n}\n\n.fa-underline:before {\n    content: \"\"\n}\n\n.fa-table:before {\n    content: \"\"\n}\n\n.fa-magic:before {\n    content: \"\"\n}\n\n.fa-truck:before {\n    content: \"\"\n}\n\n.fa-pinterest:before {\n    content: \"\"\n}\n\n.fa-pinterest-square:before {\n    content: \"\"\n}\n\n.fa-google-plus-square:before {\n    content: \"\"\n}\n\n.fa-google-plus:before {\n    content: \"\"\n}\n\n.fa-money:before {\n    content: \"\"\n}\n\n.fa-caret-down:before, .wy-dropdown .caret:before, .icon-caret-down:before {\n    content: \"\"\n}\n\n.fa-caret-up:before {\n    content: \"\"\n}\n\n.fa-caret-left:before {\n    content: \"\"\n}\n\n.fa-caret-right:before {\n    content: \"\"\n}\n\n.fa-columns:before {\n    content: \"\"\n}\n\n.fa-unsorted:before, .fa-sort:before {\n    content: \"\"\n}\n\n.fa-sort-down:before, .fa-sort-desc:before {\n    content: \"\"\n}\n\n.fa-sort-up:before, .fa-sort-asc:before {\n    content: \"\"\n}\n\n.fa-envelope:before {\n    content: \"\"\n}\n\n.fa-linkedin:before {\n    content: \"\"\n}\n\n.fa-rotate-left:before, .fa-undo:before {\n    content: \"\"\n}\n\n.fa-legal:before, .fa-gavel:before {\n    content: \"\"\n}\n\n.fa-dashboard:before, .fa-tachometer:before {\n    content: \"\"\n}\n\n.fa-comment-o:before {\n    content: \"\"\n}\n\n.fa-comments-o:before {\n    content: \"\"\n}\n\n.fa-flash:before, .fa-bolt:before {\n    content: \"\"\n}\n\n.fa-sitemap:before {\n    content: \"\"\n}\n\n.fa-umbrella:before {\n    content: \"\"\n}\n\n.fa-paste:before, .fa-clipboard:before {\n    content: \"\"\n}\n\n.fa-lightbulb-o:before {\n    content: \"\"\n}\n\n.fa-exchange:before {\n    content: \"\"\n}\n\n.fa-cloud-download:before {\n    content: \"\"\n}\n\n.fa-cloud-upload:before {\n    content: \"\"\n}\n\n.fa-user-md:before {\n    content: \"\"\n}\n\n.fa-stethoscope:before {\n    content: \"\"\n}\n\n.fa-suitcase:before {\n    content: \"\"\n}\n\n.fa-bell-o:before {\n    content: \"\"\n}\n\n.fa-coffee:before {\n    content: \"\"\n}\n\n.fa-cutlery:before {\n    content: \"\"\n}\n\n.fa-file-text-o:before {\n    content: \"\"\n}\n\n.fa-building-o:before {\n    content: \"\"\n}\n\n.fa-hospital-o:before {\n    content: \"\"\n}\n\n.fa-ambulance:before {\n    content: \"\"\n}\n\n.fa-medkit:before {\n    content: \"\"\n}\n\n.fa-fighter-jet:before {\n    content: \"\"\n}\n\n.fa-beer:before {\n    content: \"\"\n}\n\n.fa-h-square:before {\n    content: \"\"\n}\n\n.fa-plus-square:before {\n    content: \"\"\n}\n\n.fa-angle-double-left:before {\n    content: \"\"\n}\n\n.fa-angle-double-right:before {\n    content: \"\"\n}\n\n.fa-angle-double-up:before {\n    content: \"\"\n}\n\n.fa-angle-double-down:before {\n    content: \"\"\n}\n\n.fa-angle-left:before {\n    content: \"\"\n}\n\n.fa-angle-right:before {\n    content: \"\"\n}\n\n.fa-angle-up:before {\n    content: \"\"\n}\n\n.fa-angle-down:before {\n    content: \"\"\n}\n\n.fa-desktop:before {\n    content: \"\"\n}\n\n.fa-laptop:before {\n    content: \"\"\n}\n\n.fa-tablet:before {\n    content: \"\"\n}\n\n.fa-mobile-phone:before, .fa-mobile:before {\n    content: \"\"\n}\n\n.fa-circle-o:before {\n    content: \"\"\n}\n\n.fa-quote-left:before {\n    content: \"\"\n}\n\n.fa-quote-right:before {\n    content: \"\"\n}\n\n.fa-spinner:before {\n    content: \"\"\n}\n\n.fa-circle:before {\n    content: \"\"\n}\n\n.fa-mail-reply:before, .fa-reply:before {\n    content: \"\"\n}\n\n.fa-github-alt:before {\n    content: \"\"\n}\n\n.fa-folder-o:before {\n    content: \"\"\n}\n\n.fa-folder-open-o:before {\n    content: \"\"\n}\n\n.fa-smile-o:before {\n    content: \"\"\n}\n\n.fa-frown-o:before {\n    content: \"\"\n}\n\n.fa-meh-o:before {\n    content: \"\"\n}\n\n.fa-gamepad:before {\n    content: \"\"\n}\n\n.fa-keyboard-o:before {\n    content: \"\"\n}\n\n.fa-flag-o:before {\n    content: \"\"\n}\n\n.fa-flag-checkered:before {\n    content: \"\"\n}\n\n.fa-terminal:before {\n    content: \"\"\n}\n\n.fa-code:before {\n    content: \"\"\n}\n\n.fa-mail-reply-all:before, .fa-reply-all:before {\n    content: \"\"\n}\n\n.fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before {\n    content: \"\"\n}\n\n.fa-location-arrow:before {\n    content: \"\"\n}\n\n.fa-crop:before {\n    content: \"\"\n}\n\n.fa-code-fork:before {\n    content: \"\"\n}\n\n.fa-unlink:before, .fa-chain-broken:before {\n    content: \"\"\n}\n\n.fa-question:before {\n    content: \"\"\n}\n\n.fa-info:before {\n    content: \"\"\n}\n\n.fa-exclamation:before {\n    content: \"\"\n}\n\n.fa-superscript:before {\n    content: \"\"\n}\n\n.fa-subscript:before {\n    content: \"\"\n}\n\n.fa-eraser:before {\n    content: \"\"\n}\n\n.fa-puzzle-piece:before {\n    content: \"\"\n}\n\n.fa-microphone:before {\n    content: \"\"\n}\n\n.fa-microphone-slash:before {\n    content: \"\"\n}\n\n.fa-shield:before {\n    content: \"\"\n}\n\n.fa-calendar-o:before {\n    content: \"\"\n}\n\n.fa-fire-extinguisher:before {\n    content: \"\"\n}\n\n.fa-rocket:before {\n    content: \"\"\n}\n\n.fa-maxcdn:before {\n    content: \"\"\n}\n\n.fa-chevron-circle-left:before {\n    content: \"\"\n}\n\n.fa-chevron-circle-right:before {\n    content: \"\"\n}\n\n.fa-chevron-circle-up:before {\n    content: \"\"\n}\n\n.fa-chevron-circle-down:before {\n    content: \"\"\n}\n\n.fa-html5:before {\n    content: \"\"\n}\n\n.fa-css3:before {\n    content: \"\"\n}\n\n.fa-anchor:before {\n    content: \"\"\n}\n\n.fa-unlock-alt:before {\n    content: \"\"\n}\n\n.fa-bullseye:before {\n    content: \"\"\n}\n\n.fa-ellipsis-h:before {\n    content: \"\"\n}\n\n.fa-ellipsis-v:before {\n    content: \"\"\n}\n\n.fa-rss-square:before {\n    content: \"\"\n}\n\n.fa-play-circle:before {\n    content: \"\"\n}\n\n.fa-ticket:before {\n    content: \"\"\n}\n\n.fa-minus-square:before {\n    content: \"\"\n}\n\n.fa-minus-square-o:before {\n    content: \"\"\n}\n\n.fa-level-up:before {\n    content: \"\"\n}\n\n.fa-level-down:before {\n    content: \"\"\n}\n\n.fa-check-square:before {\n    content: \"\"\n}\n\n.fa-pencil-square:before {\n    content: \"\"\n}\n\n.fa-external-link-square:before {\n    content: \"\"\n}\n\n.fa-share-square:before {\n    content: \"\"\n}\n\n.fa-compass:before {\n    content: \"\"\n}\n\n.fa-toggle-down:before, .fa-caret-square-o-down:before {\n    content: \"\"\n}\n\n.fa-toggle-up:before, .fa-caret-square-o-up:before {\n    content: \"\"\n}\n\n.fa-toggle-right:before, .fa-caret-square-o-right:before {\n    content: \"\"\n}\n\n.fa-euro:before, .fa-eur:before {\n    content: \"\"\n}\n\n.fa-gbp:before {\n    content: \"\"\n}\n\n.fa-dollar:before, .fa-usd:before {\n    content: \"\"\n}\n\n.fa-rupee:before, .fa-inr:before {\n    content: \"\"\n}\n\n.fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before {\n    content: \"\"\n}\n\n.fa-ruble:before, .fa-rouble:before, .fa-rub:before {\n    content: \"\"\n}\n\n.fa-won:before, .fa-krw:before {\n    content: \"\"\n}\n\n.fa-bitcoin:before, .fa-btc:before {\n    content: \"\"\n}\n\n.fa-file:before {\n    content: \"\"\n}\n\n.fa-file-text:before {\n    content: \"\"\n}\n\n.fa-sort-alpha-asc:before {\n    content: \"\"\n}\n\n.fa-sort-alpha-desc:before {\n    content: \"\"\n}\n\n.fa-sort-amount-asc:before {\n    content: \"\"\n}\n\n.fa-sort-amount-desc:before {\n    content: \"\"\n}\n\n.fa-sort-numeric-asc:before {\n    content: \"\"\n}\n\n.fa-sort-numeric-desc:before {\n    content: \"\"\n}\n\n.fa-thumbs-up:before {\n    content: \"\"\n}\n\n.fa-thumbs-down:before {\n    content: \"\"\n}\n\n.fa-youtube-square:before {\n    content: \"\"\n}\n\n.fa-youtube:before {\n    content: \"\"\n}\n\n.fa-xing:before {\n    content: \"\"\n}\n\n.fa-xing-square:before {\n    content: \"\"\n}\n\n.fa-youtube-play:before {\n    content: \"\"\n}\n\n.fa-dropbox:before {\n    content: \"\"\n}\n\n.fa-stack-overflow:before {\n    content: \"\"\n}\n\n.fa-instagram:before {\n    content: \"\"\n}\n\n.fa-flickr:before {\n    content: \"\"\n}\n\n.fa-adn:before {\n    content: \"\"\n}\n\n.fa-bitbucket:before, .icon-bitbucket:before {\n    content: \"\"\n}\n\n.fa-bitbucket-square:before {\n    content: \"\"\n}\n\n.fa-tumblr:before {\n    content: \"\"\n}\n\n.fa-tumblr-square:before {\n    content: \"\"\n}\n\n.fa-long-arrow-down:before {\n    content: \"\"\n}\n\n.fa-long-arrow-up:before {\n    content: \"\"\n}\n\n.fa-long-arrow-left:before {\n    content: \"\"\n}\n\n.fa-long-arrow-right:before {\n    content: \"\"\n}\n\n.fa-apple:before {\n    content: \"\"\n}\n\n.fa-windows:before {\n    content: \"\"\n}\n\n.fa-android:before {\n    content: \"\"\n}\n\n.fa-linux:before {\n    content: \"\"\n}\n\n.fa-dribbble:before {\n    content: \"\"\n}\n\n.fa-skype:before {\n    content: \"\"\n}\n\n.fa-foursquare:before {\n    content: \"\"\n}\n\n.fa-trello:before {\n    content: \"\"\n}\n\n.fa-female:before {\n    content: \"\"\n}\n\n.fa-male:before {\n    content: \"\"\n}\n\n.fa-gittip:before {\n    content: \"\"\n}\n\n.fa-sun-o:before {\n    content: \"\"\n}\n\n.fa-moon-o:before {\n    content: \"\"\n}\n\n.fa-archive:before {\n    content: \"\"\n}\n\n.fa-bug:before {\n    content: \"\"\n}\n\n.fa-vk:before {\n    content: \"\"\n}\n\n.fa-weibo:before {\n    content: \"\"\n}\n\n.fa-renren:before {\n    content: \"\"\n}\n\n.fa-pagelines:before {\n    content: \"\"\n}\n\n.fa-stack-exchange:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-o-right:before {\n    content: \"\"\n}\n\n.fa-arrow-circle-o-left:before {\n    content: \"\"\n}\n\n.fa-toggle-left:before, .fa-caret-square-o-left:before {\n    content: \"\"\n}\n\n.fa-dot-circle-o:before {\n    content: \"\"\n}\n\n.fa-wheelchair:before {\n    content: \"\"\n}\n\n.fa-vimeo-square:before {\n    content: \"\"\n}\n\n.fa-turkish-lira:before, .fa-try:before {\n    content: \"\"\n}\n\n.fa-plus-square-o:before {\n    content: \"\"\n}\n\n.fa-space-shuttle:before {\n    content: \"\"\n}\n\n.fa-slack:before {\n    content: \"\"\n}\n\n.fa-envelope-square:before {\n    content: \"\"\n}\n\n.fa-wordpress:before {\n    content: \"\"\n}\n\n.fa-openid:before {\n    content: \"\"\n}\n\n.fa-institution:before, .fa-bank:before, .fa-university:before {\n    content: \"\"\n}\n\n.fa-mortar-board:before, .fa-graduation-cap:before {\n    content: \"\"\n}\n\n.fa-yahoo:before {\n    content: \"\"\n}\n\n.fa-google:before {\n    content: \"\"\n}\n\n.fa-reddit:before {\n    content: \"\"\n}\n\n.fa-reddit-square:before {\n    content: \"\"\n}\n\n.fa-stumbleupon-circle:before {\n    content: \"\"\n}\n\n.fa-stumbleupon:before {\n    content: \"\"\n}\n\n.fa-delicious:before {\n    content: \"\"\n}\n\n.fa-digg:before {\n    content: \"\"\n}\n\n.fa-pied-piper-square:before, .fa-pied-piper:before {\n    content: \"\"\n}\n\n.fa-pied-piper-alt:before {\n    content: \"\"\n}\n\n.fa-drupal:before {\n    content: \"\"\n}\n\n.fa-joomla:before {\n    content: \"\"\n}\n\n.fa-language:before {\n    content: \"\"\n}\n\n.fa-fax:before {\n    content: \"\"\n}\n\n.fa-building:before {\n    content: \"\"\n}\n\n.fa-child:before {\n    content: \"\"\n}\n\n.fa-paw:before {\n    content: \"\"\n}\n\n.fa-spoon:before {\n    content: \"\"\n}\n\n.fa-cube:before {\n    content: \"\"\n}\n\n.fa-cubes:before {\n    content: \"\"\n}\n\n.fa-behance:before {\n    content: \"\"\n}\n\n.fa-behance-square:before {\n    content: \"\"\n}\n\n.fa-steam:before {\n    content: \"\"\n}\n\n.fa-steam-square:before {\n    content: \"\"\n}\n\n.fa-recycle:before {\n    content: \"\"\n}\n\n.fa-automobile:before, .fa-car:before {\n    content: \"\"\n}\n\n.fa-cab:before, .fa-taxi:before {\n    content: \"\"\n}\n\n.fa-tree:before {\n    content: \"\"\n}\n\n.fa-spotify:before {\n    content: \"\"\n}\n\n.fa-deviantart:before {\n    content: \"\"\n}\n\n.fa-soundcloud:before {\n    content: \"\"\n}\n\n.fa-database:before {\n    content: \"\"\n}\n\n.fa-file-pdf-o:before {\n    content: \"\"\n}\n\n.fa-file-word-o:before {\n    content: \"\"\n}\n\n.fa-file-excel-o:before {\n    content: \"\"\n}\n\n.fa-file-powerpoint-o:before {\n    content: \"\"\n}\n\n.fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before {\n    content: \"\"\n}\n\n.fa-file-zip-o:before, .fa-file-archive-o:before {\n    content: \"\"\n}\n\n.fa-file-sound-o:before, .fa-file-audio-o:before {\n    content: \"\"\n}\n\n.fa-file-movie-o:before, .fa-file-video-o:before {\n    content: \"\"\n}\n\n.fa-file-code-o:before {\n    content: \"\"\n}\n\n.fa-vine:before {\n    content: \"\"\n}\n\n.fa-codepen:before {\n    content: \"\"\n}\n\n.fa-jsfiddle:before {\n    content: \"\"\n}\n\n.fa-life-bouy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before {\n    content: \"\"\n}\n\n.fa-circle-o-notch:before {\n    content: \"\"\n}\n\n.fa-ra:before, .fa-rebel:before {\n    content: \"\"\n}\n\n.fa-ge:before, .fa-empire:before {\n    content: \"\"\n}\n\n.fa-git-square:before {\n    content: \"\"\n}\n\n.fa-git:before {\n    content: \"\"\n}\n\n.fa-hacker-news:before {\n    content: \"\"\n}\n\n.fa-tencent-weibo:before {\n    content: \"\"\n}\n\n.fa-qq:before {\n    content: \"\"\n}\n\n.fa-wechat:before, .fa-weixin:before {\n    content: \"\"\n}\n\n.fa-send:before, .fa-paper-plane:before {\n    content: \"\"\n}\n\n.fa-send-o:before, .fa-paper-plane-o:before {\n    content: \"\"\n}\n\n.fa-history:before {\n    content: \"\"\n}\n\n.fa-circle-thin:before {\n    content: \"\"\n}\n\n.fa-header:before {\n    content: \"\"\n}\n\n.fa-paragraph:before {\n    content: \"\"\n}\n\n.fa-sliders:before {\n    content: \"\"\n}\n\n.fa-share-alt:before {\n    content: \"\"\n}\n\n.fa-share-alt-square:before {\n    content: \"\"\n}\n\n.fa-bomb:before {\n    content: \"\"\n}\n\n.fa, .rst-content .admonition-title, .rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink, .icon, .wy-dropdown .caret, .wy-inline-validate.wy-inline-validate-success .wy-input-context, .wy-inline-validate.wy-inline-validate-danger .wy-input-context, .wy-inline-validate.wy-inline-validate-warning .wy-input-context, .wy-inline-validate.wy-inline-validate-info .wy-input-context {\n    font-family: inherit\n}\n\n.fa:before, .rst-content .admonition-title:before, .rst-content h1 .headerlink:before, .rst-content h2 .headerlink:before, .rst-content h3 .headerlink:before, .rst-content h4 .headerlink:before, .rst-content h5 .headerlink:before, .rst-content h6 .headerlink:before, .rst-content dl dt .headerlink:before, .icon:before, .wy-dropdown .caret:before, .wy-inline-validate.wy-inline-validate-success .wy-input-context:before, .wy-inline-validate.wy-inline-validate-danger .wy-input-context:before, .wy-inline-validate.wy-inline-validate-warning .wy-input-context:before, .wy-inline-validate.wy-inline-validate-info .wy-input-context:before {\n    font-family: \"FontAwesome\";\n    display: inline-block;\n    font-style: normal;\n    font-weight: normal;\n    line-height: 1;\n    text-decoration: inherit\n}\n\na .fa, a .rst-content .admonition-title, .rst-content a .admonition-title, a .rst-content h1 .headerlink, .rst-content h1 a .headerlink, a .rst-content h2 .headerlink, .rst-content h2 a .headerlink, a .rst-content h3 .headerlink, .rst-content h3 a .headerlink, a .rst-content h4 .headerlink, .rst-content h4 a .headerlink, a .rst-content h5 .headerlink, .rst-content h5 a .headerlink, a .rst-content h6 .headerlink, .rst-content h6 a .headerlink, a .rst-content dl dt .headerlink, .rst-content dl dt a .headerlink, a .icon {\n    display: inline-block;\n    text-decoration: inherit\n}\n\n.btn .fa, .btn .rst-content .admonition-title, .rst-content .btn .admonition-title, .btn .rst-content h1 .headerlink, .rst-content h1 .btn .headerlink, .btn .rst-content h2 .headerlink, .rst-content h2 .btn .headerlink, .btn .rst-content h3 .headerlink, .rst-content h3 .btn .headerlink, .btn .rst-content h4 .headerlink, .rst-content h4 .btn .headerlink, .btn .rst-content h5 .headerlink, .rst-content h5 .btn .headerlink, .btn .rst-content h6 .headerlink, .rst-content h6 .btn .headerlink, .btn .rst-content dl dt .headerlink, .rst-content dl dt .btn .headerlink, .btn .icon, .nav .fa, .nav .rst-content .admonition-title, .rst-content .nav .admonition-title, .nav .rst-content h1 .headerlink, .rst-content h1 .nav .headerlink, .nav .rst-content h2 .headerlink, .rst-content h2 .nav .headerlink, .nav .rst-content h3 .headerlink, .rst-content h3 .nav .headerlink, .nav .rst-content h4 .headerlink, .rst-content h4 .nav .headerlink, .nav .rst-content h5 .headerlink, .rst-content h5 .nav .headerlink, .nav .rst-content h6 .headerlink, .rst-content h6 .nav .headerlink, .nav .rst-content dl dt .headerlink, .rst-content dl dt .nav .headerlink, .nav .icon {\n    display: inline\n}\n\n.btn .fa.fa-large, .btn .rst-content .fa-large.admonition-title, .rst-content .btn .fa-large.admonition-title, .btn .rst-content h1 .fa-large.headerlink, .rst-content h1 .btn .fa-large.headerlink, .btn .rst-content h2 .fa-large.headerlink, .rst-content h2 .btn .fa-large.headerlink, .btn .rst-content h3 .fa-large.headerlink, .rst-content h3 .btn .fa-large.headerlink, .btn .rst-content h4 .fa-large.headerlink, .rst-content h4 .btn .fa-large.headerlink, .btn .rst-content h5 .fa-large.headerlink, .rst-content h5 .btn .fa-large.headerlink, .btn .rst-content h6 .fa-large.headerlink, .rst-content h6 .btn .fa-large.headerlink, .btn .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .btn .fa-large.headerlink, .btn .fa-large.icon, .nav .fa.fa-large, .nav .rst-content .fa-large.admonition-title, .rst-content .nav .fa-large.admonition-title, .nav .rst-content h1 .fa-large.headerlink, .rst-content h1 .nav .fa-large.headerlink, .nav .rst-content h2 .fa-large.headerlink, .rst-content h2 .nav .fa-large.headerlink, .nav .rst-content h3 .fa-large.headerlink, .rst-content h3 .nav .fa-large.headerlink, .nav .rst-content h4 .fa-large.headerlink, .rst-content h4 .nav .fa-large.headerlink, .nav .rst-content h5 .fa-large.headerlink, .rst-content h5 .nav .fa-large.headerlink, .nav .rst-content h6 .fa-large.headerlink, .rst-content h6 .nav .fa-large.headerlink, .nav .rst-content dl dt .fa-large.headerlink, .rst-content dl dt .nav .fa-large.headerlink, .nav .fa-large.icon {\n    line-height: 0.9em\n}\n\n.btn .fa.fa-spin, .btn .rst-content .fa-spin.admonition-title, .rst-content .btn .fa-spin.admonition-title, .btn .rst-content h1 .fa-spin.headerlink, .rst-content h1 .btn .fa-spin.headerlink, .btn .rst-content h2 .fa-spin.headerlink, .rst-content h2 .btn .fa-spin.headerlink, .btn .rst-content h3 .fa-spin.headerlink, .rst-content h3 .btn .fa-spin.headerlink, .btn .rst-content h4 .fa-spin.headerlink, .rst-content h4 .btn .fa-spin.headerlink, .btn .rst-content h5 .fa-spin.headerlink, .rst-content h5 .btn .fa-spin.headerlink, .btn .rst-content h6 .fa-spin.headerlink, .rst-content h6 .btn .fa-spin.headerlink, .btn .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .btn .fa-spin.headerlink, .btn .fa-spin.icon, .nav .fa.fa-spin, .nav .rst-content .fa-spin.admonition-title, .rst-content .nav .fa-spin.admonition-title, .nav .rst-content h1 .fa-spin.headerlink, .rst-content h1 .nav .fa-spin.headerlink, .nav .rst-content h2 .fa-spin.headerlink, .rst-content h2 .nav .fa-spin.headerlink, .nav .rst-content h3 .fa-spin.headerlink, .rst-content h3 .nav .fa-spin.headerlink, .nav .rst-content h4 .fa-spin.headerlink, .rst-content h4 .nav .fa-spin.headerlink, .nav .rst-content h5 .fa-spin.headerlink, .rst-content h5 .nav .fa-spin.headerlink, .nav .rst-content h6 .fa-spin.headerlink, .rst-content h6 .nav .fa-spin.headerlink, .nav .rst-content dl dt .fa-spin.headerlink, .rst-content dl dt .nav .fa-spin.headerlink, .nav .fa-spin.icon {\n    display: inline-block\n}\n\n.btn.fa:before, .rst-content .btn.admonition-title:before, .rst-content h1 .btn.headerlink:before, .rst-content h2 .btn.headerlink:before, .rst-content h3 .btn.headerlink:before, .rst-content h4 .btn.headerlink:before, .rst-content h5 .btn.headerlink:before, .rst-content h6 .btn.headerlink:before, .rst-content dl dt .btn.headerlink:before, .btn.icon:before {\n    opacity: 0.5;\n    -webkit-transition: opacity 0.05s ease-in;\n    -moz-transition: opacity 0.05s ease-in;\n    transition: opacity 0.05s ease-in\n}\n\n.btn.fa:hover:before, .rst-content .btn.admonition-title:hover:before, .rst-content h1 .btn.headerlink:hover:before, .rst-content h2 .btn.headerlink:hover:before, .rst-content h3 .btn.headerlink:hover:before, .rst-content h4 .btn.headerlink:hover:before, .rst-content h5 .btn.headerlink:hover:before, .rst-content h6 .btn.headerlink:hover:before, .rst-content dl dt .btn.headerlink:hover:before, .btn.icon:hover:before {\n    opacity: 1\n}\n\n.btn-mini .fa:before, .btn-mini .rst-content .admonition-title:before, .rst-content .btn-mini .admonition-title:before, .btn-mini .rst-content h1 .headerlink:before, .rst-content h1 .btn-mini .headerlink:before, .btn-mini .rst-content h2 .headerlink:before, .rst-content h2 .btn-mini .headerlink:before, .btn-mini .rst-content h3 .headerlink:before, .rst-content h3 .btn-mini .headerlink:before, .btn-mini .rst-content h4 .headerlink:before, .rst-content h4 .btn-mini .headerlink:before, .btn-mini .rst-content h5 .headerlink:before, .rst-content h5 .btn-mini .headerlink:before, .btn-mini .rst-content h6 .headerlink:before, .rst-content h6 .btn-mini .headerlink:before, .btn-mini .rst-content dl dt .headerlink:before, .rst-content dl dt .btn-mini .headerlink:before, .btn-mini .icon:before {\n    font-size: 14px;\n    vertical-align: -15%\n}\n\n.wy-alert, .rst-content .note, .rst-content .attention, .rst-content .caution, .rst-content .danger, .rst-content .error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .warning, .rst-content .seealso, .rst-content .admonition-todo {\n    padding: 12px;\n    line-height: 24px;\n    margin-bottom: 24px;\n    background: #e7f2fa\n}\n\n.wy-alert-title, .rst-content .admonition-title {\n    color: #fff;\n    font-weight: bold;\n    display: block;\n    color: #fff;\n    background: #6ab0de;\n    margin: -12px;\n    padding: 6px 12px;\n    margin-bottom: 12px\n}\n\n.wy-alert.wy-alert-danger, .rst-content .wy-alert-danger.note, .rst-content .wy-alert-danger.attention, .rst-content .wy-alert-danger.caution, .rst-content .danger, .rst-content .error, .rst-content .wy-alert-danger.hint, .rst-content .wy-alert-danger.important, .rst-content .wy-alert-danger.tip, .rst-content .wy-alert-danger.warning, .rst-content .wy-alert-danger.seealso, .rst-content .wy-alert-danger.admonition-todo {\n    background: #fdf3f2\n}\n\n.wy-alert.wy-alert-danger .wy-alert-title, .rst-content .wy-alert-danger.note .wy-alert-title, .rst-content .wy-alert-danger.attention .wy-alert-title, .rst-content .wy-alert-danger.caution .wy-alert-title, .rst-content .danger .wy-alert-title, .rst-content .error .wy-alert-title, .rst-content .wy-alert-danger.hint .wy-alert-title, .rst-content .wy-alert-danger.important .wy-alert-title, .rst-content .wy-alert-danger.tip .wy-alert-title, .rst-content .wy-alert-danger.warning .wy-alert-title, .rst-content .wy-alert-danger.seealso .wy-alert-title, .rst-content .wy-alert-danger.admonition-todo .wy-alert-title, .wy-alert.wy-alert-danger .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-danger .admonition-title, .rst-content .wy-alert-danger.note .admonition-title, .rst-content .wy-alert-danger.attention .admonition-title, .rst-content .wy-alert-danger.caution .admonition-title, .rst-content .danger .admonition-title, .rst-content .error .admonition-title, .rst-content .wy-alert-danger.hint .admonition-title, .rst-content .wy-alert-danger.important .admonition-title, .rst-content .wy-alert-danger.tip .admonition-title, .rst-content .wy-alert-danger.warning .admonition-title, .rst-content .wy-alert-danger.seealso .admonition-title, .rst-content .wy-alert-danger.admonition-todo .admonition-title {\n    background: #f29f97\n}\n\n.wy-alert.wy-alert-warning, .rst-content .wy-alert-warning.note, .rst-content .attention, .rst-content .caution, .rst-content .wy-alert-warning.danger, .rst-content .wy-alert-warning.error, .rst-content .wy-alert-warning.hint, .rst-content .wy-alert-warning.important, .rst-content .wy-alert-warning.tip, .rst-content .warning, .rst-content .wy-alert-warning.seealso, .rst-content .admonition-todo {\n    background: #ffedcc\n}\n\n.wy-alert.wy-alert-warning .wy-alert-title, .rst-content .wy-alert-warning.note .wy-alert-title, .rst-content .attention .wy-alert-title, .rst-content .caution .wy-alert-title, .rst-content .wy-alert-warning.danger .wy-alert-title, .rst-content .wy-alert-warning.error .wy-alert-title, .rst-content .wy-alert-warning.hint .wy-alert-title, .rst-content .wy-alert-warning.important .wy-alert-title, .rst-content .wy-alert-warning.tip .wy-alert-title, .rst-content .warning .wy-alert-title, .rst-content .wy-alert-warning.seealso .wy-alert-title, .rst-content .admonition-todo .wy-alert-title, .wy-alert.wy-alert-warning .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-warning .admonition-title, .rst-content .wy-alert-warning.note .admonition-title, .rst-content .attention .admonition-title, .rst-content .caution .admonition-title, .rst-content .wy-alert-warning.danger .admonition-title, .rst-content .wy-alert-warning.error .admonition-title, .rst-content .wy-alert-warning.hint .admonition-title, .rst-content .wy-alert-warning.important .admonition-title, .rst-content .wy-alert-warning.tip .admonition-title, .rst-content .warning .admonition-title, .rst-content .wy-alert-warning.seealso .admonition-title, .rst-content .admonition-todo .admonition-title {\n    background: #f0b37e\n}\n\n.wy-alert.wy-alert-info, .rst-content .note, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .rst-content .seealso, .rst-content .wy-alert-info.admonition-todo {\n    background: #e7f2fa\n}\n\n.wy-alert.wy-alert-info .wy-alert-title, .rst-content .note .wy-alert-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .rst-content .note .admonition-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .seealso .admonition-title, .rst-content .wy-alert-info.admonition-todo .admonition-title {\n    background: #6ab0de\n}\n\n.wy-alert.wy-alert-success, .rst-content .wy-alert-success.note, .rst-content .wy-alert-success.attention, .rst-content .wy-alert-success.caution, .rst-content .wy-alert-success.danger, .rst-content .wy-alert-success.error, .rst-content .hint, .rst-content .important, .rst-content .tip, .rst-content .wy-alert-success.warning, .rst-content .wy-alert-success.seealso, .rst-content .wy-alert-success.admonition-todo {\n    background: #dbfaf4\n}\n\n.wy-alert.wy-alert-success .wy-alert-title, .rst-content .wy-alert-success.note .wy-alert-title, .rst-content .wy-alert-success.attention .wy-alert-title, .rst-content .wy-alert-success.caution .wy-alert-title, .rst-content .wy-alert-success.danger .wy-alert-title, .rst-content .wy-alert-success.error .wy-alert-title, .rst-content .hint .wy-alert-title, .rst-content .important .wy-alert-title, .rst-content .tip .wy-alert-title, .rst-content .wy-alert-success.warning .wy-alert-title, .rst-content .wy-alert-success.seealso .wy-alert-title, .rst-content .wy-alert-success.admonition-todo .wy-alert-title, .wy-alert.wy-alert-success .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-success .admonition-title, .rst-content .wy-alert-success.note .admonition-title, .rst-content .wy-alert-success.attention .admonition-title, .rst-content .wy-alert-success.caution .admonition-title, .rst-content .wy-alert-success.danger .admonition-title, .rst-content .wy-alert-success.error .admonition-title, .rst-content .hint .admonition-title, .rst-content .important .admonition-title, .rst-content .tip .admonition-title, .rst-content .wy-alert-success.warning .admonition-title, .rst-content .wy-alert-success.seealso .admonition-title, .rst-content .wy-alert-success.admonition-todo .admonition-title {\n    background: #1abc9c\n}\n\n.wy-alert.wy-alert-neutral, .rst-content .wy-alert-neutral.note, .rst-content .wy-alert-neutral.attention, .rst-content .wy-alert-neutral.caution, .rst-content .wy-alert-neutral.danger, .rst-content .wy-alert-neutral.error, .rst-content .wy-alert-neutral.hint, .rst-content .wy-alert-neutral.important, .rst-content .wy-alert-neutral.tip, .rst-content .wy-alert-neutral.warning, .rst-content .wy-alert-neutral.seealso, .rst-content .wy-alert-neutral.admonition-todo {\n    background: #f3f6f6\n}\n\n.wy-alert.wy-alert-neutral .wy-alert-title, .rst-content .wy-alert-neutral.note .wy-alert-title, .rst-content .wy-alert-neutral.attention .wy-alert-title, .rst-content .wy-alert-neutral.caution .wy-alert-title, .rst-content .wy-alert-neutral.danger .wy-alert-title, .rst-content .wy-alert-neutral.error .wy-alert-title, .rst-content .wy-alert-neutral.hint .wy-alert-title, .rst-content .wy-alert-neutral.important .wy-alert-title, .rst-content .wy-alert-neutral.tip .wy-alert-title, .rst-content .wy-alert-neutral.warning .wy-alert-title, .rst-content .wy-alert-neutral.seealso .wy-alert-title, .rst-content .wy-alert-neutral.admonition-todo .wy-alert-title, .wy-alert.wy-alert-neutral .rst-content .admonition-title, .rst-content .wy-alert.wy-alert-neutral .admonition-title, .rst-content .wy-alert-neutral.note .admonition-title, .rst-content .wy-alert-neutral.attention .admonition-title, .rst-content .wy-alert-neutral.caution .admonition-title, .rst-content .wy-alert-neutral.danger .admonition-title, .rst-content .wy-alert-neutral.error .admonition-title, .rst-content .wy-alert-neutral.hint .admonition-title, .rst-content .wy-alert-neutral.important .admonition-title, .rst-content .wy-alert-neutral.tip .admonition-title, .rst-content .wy-alert-neutral.warning .admonition-title, .rst-content .wy-alert-neutral.seealso .admonition-title, .rst-content .wy-alert-neutral.admonition-todo .admonition-title {\n    color: #404040;\n    background: #e1e4e5\n}\n\n.wy-alert.wy-alert-neutral a, .rst-content .wy-alert-neutral.note a, .rst-content .wy-alert-neutral.attention a, .rst-content .wy-alert-neutral.caution a, .rst-content .wy-alert-neutral.danger a, .rst-content .wy-alert-neutral.error a, .rst-content .wy-alert-neutral.hint a, .rst-content .wy-alert-neutral.important a, .rst-content .wy-alert-neutral.tip a, .rst-content .wy-alert-neutral.warning a, .rst-content .wy-alert-neutral.seealso a, .rst-content .wy-alert-neutral.admonition-todo a {\n    color: #2980B9\n}\n\n.wy-alert p:last-child, .rst-content .note p:last-child, .rst-content .attention p:last-child, .rst-content .caution p:last-child, .rst-content .danger p:last-child, .rst-content .error p:last-child, .rst-content .hint p:last-child, .rst-content .important p:last-child, .rst-content .tip p:last-child, .rst-content .warning p:last-child, .rst-content .seealso p:last-child, .rst-content .admonition-todo p:last-child {\n    margin-bottom: 0\n}\n\n.wy-tray-container {\n    position: fixed;\n    bottom: 0px;\n    left: 0;\n    z-index: 600\n}\n\n.wy-tray-container li {\n    display: block;\n    width: 300px;\n    background: transparent;\n    color: #fff;\n    text-align: center;\n    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);\n    padding: 0 24px;\n    min-width: 20%;\n    opacity: 0;\n    height: 0;\n    line-height: 56px;\n    overflow: hidden;\n    -webkit-transition: all 0.3s ease-in;\n    -moz-transition: all 0.3s ease-in;\n    transition: all 0.3s ease-in\n}\n\n.wy-tray-container li.wy-tray-item-success {\n    background: #27AE60\n}\n\n.wy-tray-container li.wy-tray-item-info {\n    background: #2980B9\n}\n\n.wy-tray-container li.wy-tray-item-warning {\n    background: #E67E22\n}\n\n.wy-tray-container li.wy-tray-item-danger {\n    background: #E74C3C\n}\n\n.wy-tray-container li.on {\n    opacity: 1;\n    height: 56px\n}\n\n@media screen and (max-width: 768px) {\n    .wy-tray-container {\n        bottom: auto;\n        top: 0;\n        width: 100%\n    }\n\n    .wy-tray-container li {\n        width: 100%\n    }\n}\n\nbutton {\n    font-size: 100%;\n    margin: 0;\n    vertical-align: baseline;\n    *vertical-align: middle;\n    cursor: pointer;\n    line-height: normal;\n    -webkit-appearance: button;\n    *overflow: visible\n}\n\nbutton::-moz-focus-inner, input::-moz-focus-inner {\n    border: 0;\n    padding: 0\n}\n\nbutton[disabled] {\n    cursor: default\n}\n\n.btn {\n    display: inline-block;\n    border-radius: 2px;\n    line-height: normal;\n    white-space: nowrap;\n    text-align: center;\n    cursor: pointer;\n    font-size: 100%;\n    padding: 6px 12px 8px 12px;\n    color: #fff;\n    border: 1px solid rgba(0, 0, 0, 0.1);\n    background-color: #27AE60;\n    text-decoration: none;\n    font-weight: normal;\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif;\n    box-shadow: 0px 1px 2px -1px rgba(255, 255, 255, 0.5) inset, 0px -2px 0px 0px rgba(0, 0, 0, 0.1) inset;\n    outline-none: false;\n    vertical-align: middle;\n    *display: inline;\n    zoom: 1;\n    -webkit-user-drag: none;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    user-select: none;\n    -webkit-transition: all 0.1s linear;\n    -moz-transition: all 0.1s linear;\n    transition: all 0.1s linear\n}\n\n.btn-hover {\n    background: #2e8ece;\n    color: #fff\n}\n\n.btn:hover {\n    background: #2cc36b;\n    color: #fff\n}\n\n.btn:focus {\n    background: #2cc36b;\n    outline: 0\n}\n\n.btn:active {\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset, 0px 2px 0px 0px rgba(0, 0, 0, 0.1) inset;\n    padding: 8px 12px 6px 12px\n}\n\n.btn:visited {\n    color: #fff\n}\n\n.btn:disabled {\n    background-image: none;\n    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n    filter: alpha(opacity=40);\n    opacity: 0.4;\n    cursor: not-allowed;\n    box-shadow: none\n}\n\n.btn-disabled {\n    background-image: none;\n    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n    filter: alpha(opacity=40);\n    opacity: 0.4;\n    cursor: not-allowed;\n    box-shadow: none\n}\n\n.btn-disabled:hover, .btn-disabled:focus, .btn-disabled:active {\n    background-image: none;\n    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n    filter: alpha(opacity=40);\n    opacity: 0.4;\n    cursor: not-allowed;\n    box-shadow: none\n}\n\n.btn::-moz-focus-inner {\n    padding: 0;\n    border: 0\n}\n\n.btn-small {\n    font-size: 80%\n}\n\n.btn-info {\n    background-color: #2980B9 !important\n}\n\n.btn-info:hover {\n    background-color: #2e8ece !important\n}\n\n.btn-neutral {\n    background-color: #f3f6f6 !important;\n    color: #404040 !important\n}\n\n.btn-neutral:hover {\n    background-color: #e5ebeb !important;\n    color: #404040\n}\n\n.btn-neutral:visited {\n    color: #404040 !important\n}\n\n.btn-success {\n    background-color: #27AE60 !important\n}\n\n.btn-success:hover {\n    background-color: #295 !important\n}\n\n.btn-danger {\n    background-color: #E74C3C !important\n}\n\n.btn-danger:hover {\n    background-color: #ea6153 !important\n}\n\n.btn-warning {\n    background-color: #E67E22 !important\n}\n\n.btn-warning:hover {\n    background-color: #e98b39 !important\n}\n\n.btn-invert {\n    background-color: #222\n}\n\n.btn-invert:hover {\n    background-color: #2f2f2f !important\n}\n\n.btn-link {\n    background-color: transparent !important;\n    color: #2980B9;\n    box-shadow: none;\n    border-color: transparent !important\n}\n\n.btn-link:hover {\n    background-color: transparent !important;\n    color: #409ad5 !important;\n    box-shadow: none\n}\n\n.btn-link:active {\n    background-color: transparent !important;\n    color: #409ad5 !important;\n    box-shadow: none\n}\n\n.btn-link:visited {\n    color: #9B59B6\n}\n\n.wy-btn-group .btn, .wy-control .btn {\n    vertical-align: middle\n}\n\n.wy-btn-group {\n    margin-bottom: 24px;\n    *zoom: 1\n}\n\n.wy-btn-group:before, .wy-btn-group:after {\n    display: table;\n    content: \"\"\n}\n\n.wy-btn-group:after {\n    clear: both\n}\n\n.wy-dropdown {\n    position: relative;\n    display: inline-block\n}\n\n.wy-dropdown-active .wy-dropdown-menu {\n    display: block\n}\n\n.wy-dropdown-menu {\n    position: absolute;\n    left: 0;\n    display: none;\n    float: left;\n    top: 100%;\n    min-width: 100%;\n    background: #fcfcfc;\n    z-index: 100;\n    border: solid 1px #cfd7dd;\n    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);\n    padding: 12px\n}\n\n.wy-dropdown-menu > dd > a {\n    display: block;\n    clear: both;\n    color: #404040;\n    white-space: nowrap;\n    font-size: 90%;\n    padding: 0 12px;\n    cursor: pointer\n}\n\n.wy-dropdown-menu > dd > a:hover {\n    background: #2980B9;\n    color: #fff\n}\n\n.wy-dropdown-menu > dd.divider {\n    border-top: solid 1px #cfd7dd;\n    margin: 6px 0\n}\n\n.wy-dropdown-menu > dd.search {\n    padding-bottom: 12px\n}\n\n.wy-dropdown-menu > dd.search input[type=\"search\"] {\n    width: 100%\n}\n\n.wy-dropdown-menu > dd.call-to-action {\n    background: #e3e3e3;\n    text-transform: uppercase;\n    font-weight: 500;\n    font-size: 80%\n}\n\n.wy-dropdown-menu > dd.call-to-action:hover {\n    background: #e3e3e3\n}\n\n.wy-dropdown-menu > dd.call-to-action .btn {\n    color: #fff\n}\n\n.wy-dropdown.wy-dropdown-up .wy-dropdown-menu {\n    bottom: 100%;\n    top: auto;\n    left: auto;\n    right: 0\n}\n\n.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu {\n    background: #fcfcfc;\n    margin-top: 2px\n}\n\n.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a {\n    padding: 6px 12px\n}\n\n.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover {\n    background: #2980B9;\n    color: #fff\n}\n\n.wy-dropdown.wy-dropdown-left .wy-dropdown-menu {\n    right: 0;\n    text-align: right\n}\n\n.wy-dropdown-arrow:before {\n    content: \" \";\n    border-bottom: 5px solid #f5f5f5;\n    border-left: 5px solid transparent;\n    border-right: 5px solid transparent;\n    position: absolute;\n    display: block;\n    top: -4px;\n    left: 50%;\n    margin-left: -3px\n}\n\n.wy-dropdown-arrow.wy-dropdown-arrow-left:before {\n    left: 11px\n}\n\n.wy-form-stacked select {\n    display: block\n}\n\n.wy-form-aligned input, .wy-form-aligned textarea, .wy-form-aligned select, .wy-form-aligned .wy-help-inline, .wy-form-aligned label {\n    display: inline-block;\n    *display: inline;\n    *zoom: 1;\n    vertical-align: middle\n}\n\n.wy-form-aligned .wy-control-group > label {\n    display: inline-block;\n    vertical-align: middle;\n    width: 10em;\n    margin: 6px 12px 0 0;\n    float: left\n}\n\n.wy-form-aligned .wy-control {\n    float: left\n}\n\n.wy-form-aligned .wy-control label {\n    display: block\n}\n\n.wy-form-aligned .wy-control select {\n    margin-top: 6px\n}\n\nfieldset {\n    border: 0;\n    margin: 0;\n    padding: 0\n}\n\nlegend {\n    display: block;\n    width: 100%;\n    border: 0;\n    padding: 0;\n    white-space: normal;\n    margin-bottom: 24px;\n    font-size: 150%;\n    *margin-left: -7px\n}\n\nlabel {\n    display: block;\n    margin: 0 0 0.3125em 0;\n    color: #333;\n    font-size: 90%\n}\n\ninput, select, textarea {\n    font-size: 100%;\n    margin: 0;\n    vertical-align: baseline;\n    *vertical-align: middle\n}\n\n.wy-control-group {\n    margin-bottom: 24px;\n    *zoom: 1;\n    max-width: 68em;\n    margin-left: auto;\n    margin-right: auto;\n    *zoom: 1\n}\n\n.wy-control-group:before, .wy-control-group:after {\n    display: table;\n    content: \"\"\n}\n\n.wy-control-group:after {\n    clear: both\n}\n\n.wy-control-group:before, .wy-control-group:after {\n    display: table;\n    content: \"\"\n}\n\n.wy-control-group:after {\n    clear: both\n}\n\n.wy-control-group.wy-control-group-required > label:after {\n    content: \" *\";\n    color: #E74C3C\n}\n\n.wy-control-group .wy-form-full, .wy-control-group .wy-form-halves, .wy-control-group .wy-form-thirds {\n    padding-bottom: 12px\n}\n\n.wy-control-group .wy-form-full select, .wy-control-group .wy-form-halves select, .wy-control-group .wy-form-thirds select {\n    width: 100%\n}\n\n.wy-control-group .wy-form-full input[type=\"text\"], .wy-control-group .wy-form-full input[type=\"password\"], .wy-control-group .wy-form-full input[type=\"email\"], .wy-control-group .wy-form-full input[type=\"url\"], .wy-control-group .wy-form-full input[type=\"date\"], .wy-control-group .wy-form-full input[type=\"month\"], .wy-control-group .wy-form-full input[type=\"time\"], .wy-control-group .wy-form-full input[type=\"datetime\"], .wy-control-group .wy-form-full input[type=\"datetime-local\"], .wy-control-group .wy-form-full input[type=\"week\"], .wy-control-group .wy-form-full input[type=\"number\"], .wy-control-group .wy-form-full input[type=\"search\"], .wy-control-group .wy-form-full input[type=\"tel\"], .wy-control-group .wy-form-full input[type=\"color\"], .wy-control-group .wy-form-halves input[type=\"text\"], .wy-control-group .wy-form-halves input[type=\"password\"], .wy-control-group .wy-form-halves input[type=\"email\"], .wy-control-group .wy-form-halves input[type=\"url\"], .wy-control-group .wy-form-halves input[type=\"date\"], .wy-control-group .wy-form-halves input[type=\"month\"], .wy-control-group .wy-form-halves input[type=\"time\"], .wy-control-group .wy-form-halves input[type=\"datetime\"], .wy-control-group .wy-form-halves input[type=\"datetime-local\"], .wy-control-group .wy-form-halves input[type=\"week\"], .wy-control-group .wy-form-halves input[type=\"number\"], .wy-control-group .wy-form-halves input[type=\"search\"], .wy-control-group .wy-form-halves input[type=\"tel\"], .wy-control-group .wy-form-halves input[type=\"color\"], .wy-control-group .wy-form-thirds input[type=\"text\"], .wy-control-group .wy-form-thirds input[type=\"password\"], .wy-control-group .wy-form-thirds input[type=\"email\"], .wy-control-group .wy-form-thirds input[type=\"url\"], .wy-control-group .wy-form-thirds input[type=\"date\"], .wy-control-group .wy-form-thirds input[type=\"month\"], .wy-control-group .wy-form-thirds input[type=\"time\"], .wy-control-group .wy-form-thirds input[type=\"datetime\"], .wy-control-group .wy-form-thirds input[type=\"datetime-local\"], .wy-control-group .wy-form-thirds input[type=\"week\"], .wy-control-group .wy-form-thirds input[type=\"number\"], .wy-control-group .wy-form-thirds input[type=\"search\"], .wy-control-group .wy-form-thirds input[type=\"tel\"], .wy-control-group .wy-form-thirds input[type=\"color\"] {\n    width: 100%\n}\n\n.wy-control-group .wy-form-full {\n    float: left;\n    display: block;\n    margin-right: 2.35765%;\n    width: 100%;\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-full:last-child {\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-halves {\n    float: left;\n    display: block;\n    margin-right: 2.35765%;\n    width: 48.82117%\n}\n\n.wy-control-group .wy-form-halves:last-child {\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-halves:nth-of-type(2n) {\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-halves:nth-of-type(2n+1) {\n    clear: left\n}\n\n.wy-control-group .wy-form-thirds {\n    float: left;\n    display: block;\n    margin-right: 2.35765%;\n    width: 31.76157%\n}\n\n.wy-control-group .wy-form-thirds:last-child {\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-thirds:nth-of-type(3n) {\n    margin-right: 0\n}\n\n.wy-control-group .wy-form-thirds:nth-of-type(3n+1) {\n    clear: left\n}\n\n.wy-control-group.wy-control-group-no-input .wy-control {\n    margin: 6px 0 0 0;\n    font-size: 90%\n}\n\n.wy-control-no-input {\n    display: inline-block;\n    margin: 6px 0 0 0;\n    font-size: 90%\n}\n\n.wy-control-group.fluid-input input[type=\"text\"], .wy-control-group.fluid-input input[type=\"password\"], .wy-control-group.fluid-input input[type=\"email\"], .wy-control-group.fluid-input input[type=\"url\"], .wy-control-group.fluid-input input[type=\"date\"], .wy-control-group.fluid-input input[type=\"month\"], .wy-control-group.fluid-input input[type=\"time\"], .wy-control-group.fluid-input input[type=\"datetime\"], .wy-control-group.fluid-input input[type=\"datetime-local\"], .wy-control-group.fluid-input input[type=\"week\"], .wy-control-group.fluid-input input[type=\"number\"], .wy-control-group.fluid-input input[type=\"search\"], .wy-control-group.fluid-input input[type=\"tel\"], .wy-control-group.fluid-input input[type=\"color\"] {\n    width: 100%\n}\n\n.wy-form-message-inline {\n    display: inline-block;\n    padding-left: 0.3em;\n    color: #666;\n    vertical-align: middle;\n    font-size: 90%\n}\n\n.wy-form-message {\n    display: block;\n    color: #999;\n    font-size: 70%;\n    margin-top: 0.3125em;\n    font-style: italic\n}\n\ninput {\n    line-height: normal\n}\n\ninput[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] {\n    -webkit-appearance: button;\n    cursor: pointer;\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif;\n    *overflow: visible\n}\n\ninput[type=\"text\"], input[type=\"password\"], input[type=\"email\"], input[type=\"url\"], input[type=\"date\"], input[type=\"month\"], input[type=\"time\"], input[type=\"datetime\"], input[type=\"datetime-local\"], input[type=\"week\"], input[type=\"number\"], input[type=\"search\"], input[type=\"tel\"], input[type=\"color\"] {\n    -webkit-appearance: none;\n    padding: 6px;\n    display: inline-block;\n    border: 1px solid #ccc;\n    font-size: 80%;\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif;\n    box-shadow: inset 0 1px 3px #ddd;\n    border-radius: 0;\n    -webkit-transition: border 0.3s linear;\n    -moz-transition: border 0.3s linear;\n    transition: border 0.3s linear\n}\n\ninput[type=\"datetime-local\"] {\n    padding: 0.34375em 0.625em\n}\n\ninput[disabled] {\n    cursor: default\n}\n\ninput[type=\"checkbox\"], input[type=\"radio\"] {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n    padding: 0;\n    margin-right: 0.3125em;\n    *height: 13px;\n    *width: 13px\n}\n\ninput[type=\"search\"] {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button, input[type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none\n}\n\ninput[type=\"text\"]:focus, input[type=\"password\"]:focus, input[type=\"email\"]:focus, input[type=\"url\"]:focus, input[type=\"date\"]:focus, input[type=\"month\"]:focus, input[type=\"time\"]:focus, input[type=\"datetime\"]:focus, input[type=\"datetime-local\"]:focus, input[type=\"week\"]:focus, input[type=\"number\"]:focus, input[type=\"search\"]:focus, input[type=\"tel\"]:focus, input[type=\"color\"]:focus {\n    outline: 0;\n    outline: thin dotted \\9;\n    border-color: #333\n}\n\ninput.no-focus:focus {\n    border-color: #ccc !important\n}\n\ninput[type=\"file\"]:focus, input[type=\"radio\"]:focus, input[type=\"checkbox\"]:focus {\n    outline: thin dotted #333;\n    outline: 1px auto #129FEA\n}\n\ninput[type=\"text\"][disabled], input[type=\"password\"][disabled], input[type=\"email\"][disabled], input[type=\"url\"][disabled], input[type=\"date\"][disabled], input[type=\"month\"][disabled], input[type=\"time\"][disabled], input[type=\"datetime\"][disabled], input[type=\"datetime-local\"][disabled], input[type=\"week\"][disabled], input[type=\"number\"][disabled], input[type=\"search\"][disabled], input[type=\"tel\"][disabled], input[type=\"color\"][disabled] {\n    cursor: not-allowed;\n    background-color: #f3f6f6;\n    color: #cad2d3\n}\n\ninput:focus:invalid, textarea:focus:invalid, select:focus:invalid {\n    color: #E74C3C;\n    border: 1px solid #E74C3C\n}\n\ninput:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus {\n    border-color: #E74C3C\n}\n\ninput[type=\"file\"]:focus:invalid:focus, input[type=\"radio\"]:focus:invalid:focus, input[type=\"checkbox\"]:focus:invalid:focus {\n    outline-color: #E74C3C\n}\n\ninput.wy-input-large {\n    padding: 12px;\n    font-size: 100%\n}\n\ntextarea {\n    overflow: auto;\n    vertical-align: top;\n    width: 100%;\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif\n}\n\nselect, textarea {\n    padding: 0.5em 0.625em;\n    display: inline-block;\n    border: 1px solid #ccc;\n    font-size: 80%;\n    box-shadow: inset 0 1px 3px #ddd;\n    -webkit-transition: border 0.3s linear;\n    -moz-transition: border 0.3s linear;\n    transition: border 0.3s linear\n}\n\nselect {\n    border: 1px solid #ccc;\n    background-color: #fff\n}\n\nselect[multiple] {\n    height: auto\n}\n\nselect:focus, textarea:focus {\n    outline: 0\n}\n\nselect[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly] {\n    cursor: not-allowed;\n    background-color: #fff;\n    color: #cad2d3;\n    border-color: transparent\n}\n\n.wy-checkbox, .wy-radio {\n    margin: 6px 0;\n    color: #404040;\n    display: block\n}\n\n.wy-checkbox input, .wy-radio input {\n    vertical-align: baseline\n}\n\n.wy-form-message-inline {\n    display: inline-block;\n    *display: inline;\n    *zoom: 1;\n    vertical-align: middle\n}\n\n.wy-input-prefix, .wy-input-suffix {\n    white-space: nowrap;\n    padding: 6px\n}\n\n.wy-input-prefix .wy-input-context, .wy-input-suffix .wy-input-context {\n    line-height: 27px;\n    padding: 0 8px;\n    display: inline-block;\n    font-size: 80%;\n    background-color: #f3f6f6;\n    border: solid 1px #ccc;\n    color: #999\n}\n\n.wy-input-suffix .wy-input-context {\n    border-left: 0\n}\n\n.wy-input-prefix .wy-input-context {\n    border-right: 0\n}\n\n.wy-control-group.wy-control-group-error .wy-form-message, .wy-control-group.wy-control-group-error > label {\n    color: #E74C3C\n}\n\n.wy-control-group.wy-control-group-error input[type=\"text\"], .wy-control-group.wy-control-group-error input[type=\"password\"], .wy-control-group.wy-control-group-error input[type=\"email\"], .wy-control-group.wy-control-group-error input[type=\"url\"], .wy-control-group.wy-control-group-error input[type=\"date\"], .wy-control-group.wy-control-group-error input[type=\"month\"], .wy-control-group.wy-control-group-error input[type=\"time\"], .wy-control-group.wy-control-group-error input[type=\"datetime\"], .wy-control-group.wy-control-group-error input[type=\"datetime-local\"], .wy-control-group.wy-control-group-error input[type=\"week\"], .wy-control-group.wy-control-group-error input[type=\"number\"], .wy-control-group.wy-control-group-error input[type=\"search\"], .wy-control-group.wy-control-group-error input[type=\"tel\"], .wy-control-group.wy-control-group-error input[type=\"color\"] {\n    border: solid 1px #E74C3C\n}\n\n.wy-control-group.wy-control-group-error textarea {\n    border: solid 1px #E74C3C\n}\n\n.wy-inline-validate {\n    white-space: nowrap\n}\n\n.wy-inline-validate .wy-input-context {\n    padding: 0.5em 0.625em;\n    display: inline-block;\n    font-size: 80%\n}\n\n.wy-inline-validate.wy-inline-validate-success .wy-input-context {\n    color: #27AE60\n}\n\n.wy-inline-validate.wy-inline-validate-danger .wy-input-context {\n    color: #E74C3C\n}\n\n.wy-inline-validate.wy-inline-validate-warning .wy-input-context {\n    color: #E67E22\n}\n\n.wy-inline-validate.wy-inline-validate-info .wy-input-context {\n    color: #2980B9\n}\n\n.rotate-90 {\n    -webkit-transform: rotate(90deg);\n    -moz-transform: rotate(90deg);\n    -ms-transform: rotate(90deg);\n    -o-transform: rotate(90deg);\n    transform: rotate(90deg)\n}\n\n.rotate-180 {\n    -webkit-transform: rotate(180deg);\n    -moz-transform: rotate(180deg);\n    -ms-transform: rotate(180deg);\n    -o-transform: rotate(180deg);\n    transform: rotate(180deg)\n}\n\n.rotate-270 {\n    -webkit-transform: rotate(270deg);\n    -moz-transform: rotate(270deg);\n    -ms-transform: rotate(270deg);\n    -o-transform: rotate(270deg);\n    transform: rotate(270deg)\n}\n\n.mirror {\n    -webkit-transform: scaleX(-1);\n    -moz-transform: scaleX(-1);\n    -ms-transform: scaleX(-1);\n    -o-transform: scaleX(-1);\n    transform: scaleX(-1)\n}\n\n.mirror.rotate-90 {\n    -webkit-transform: scaleX(-1) rotate(90deg);\n    -moz-transform: scaleX(-1) rotate(90deg);\n    -ms-transform: scaleX(-1) rotate(90deg);\n    -o-transform: scaleX(-1) rotate(90deg);\n    transform: scaleX(-1) rotate(90deg)\n}\n\n.mirror.rotate-180 {\n    -webkit-transform: scaleX(-1) rotate(180deg);\n    -moz-transform: scaleX(-1) rotate(180deg);\n    -ms-transform: scaleX(-1) rotate(180deg);\n    -o-transform: scaleX(-1) rotate(180deg);\n    transform: scaleX(-1) rotate(180deg)\n}\n\n.mirror.rotate-270 {\n    -webkit-transform: scaleX(-1) rotate(270deg);\n    -moz-transform: scaleX(-1) rotate(270deg);\n    -ms-transform: scaleX(-1) rotate(270deg);\n    -o-transform: scaleX(-1) rotate(270deg);\n    transform: scaleX(-1) rotate(270deg)\n}\n\n@media only screen and (max-width: 480px) {\n    .wy-form button[type=\"submit\"] {\n        margin: 0.7em 0 0\n    }\n\n    .wy-form input[type=\"text\"], .wy-form input[type=\"password\"], .wy-form input[type=\"email\"], .wy-form input[type=\"url\"], .wy-form input[type=\"date\"], .wy-form input[type=\"month\"], .wy-form input[type=\"time\"], .wy-form input[type=\"datetime\"], .wy-form input[type=\"datetime-local\"], .wy-form input[type=\"week\"], .wy-form input[type=\"number\"], .wy-form input[type=\"search\"], .wy-form input[type=\"tel\"], .wy-form input[type=\"color\"] {\n        margin-bottom: 0.3em;\n        display: block\n    }\n\n    .wy-form label {\n        margin-bottom: 0.3em;\n        display: block\n    }\n\n    .wy-form input[type=\"password\"], .wy-form input[type=\"email\"], .wy-form input[type=\"url\"], .wy-form input[type=\"date\"], .wy-form input[type=\"month\"], .wy-form input[type=\"time\"], .wy-form input[type=\"datetime\"], .wy-form input[type=\"datetime-local\"], .wy-form input[type=\"week\"], .wy-form input[type=\"number\"], .wy-form input[type=\"search\"], .wy-form input[type=\"tel\"], .wy-form input[type=\"color\"] {\n        margin-bottom: 0\n    }\n\n    .wy-form-aligned .wy-control-group label {\n        margin-bottom: 0.3em;\n        text-align: left;\n        display: block;\n        width: 100%\n    }\n\n    .wy-form-aligned .wy-control {\n        margin: 1.5em 0 0 0\n    }\n\n    .wy-form .wy-help-inline, .wy-form-message-inline, .wy-form-message {\n        display: block;\n        font-size: 80%;\n        padding: 6px 0\n    }\n}\n\n@media screen and (max-width: 768px) {\n    .tablet-hide {\n        display: none\n    }\n}\n\n@media screen and (max-width: 480px) {\n    .mobile-hide {\n        display: none\n    }\n}\n\n.float-left {\n    float: left\n}\n\n.float-right {\n    float: right\n}\n\n.full-width {\n    width: 100%\n}\n\n.wy-table, .rst-content table.docutils, .rst-content table.field-list {\n    border-collapse: collapse;\n    border-spacing: 0;\n    empty-cells: show;\n    margin-bottom: 24px\n}\n\n.wy-table caption, .rst-content table.docutils caption, .rst-content table.field-list caption {\n    color: #000;\n    font: italic 85%/1 arial, sans-serif;\n    padding: 1em 0;\n    text-align: center\n}\n\n.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td, .wy-table th, .rst-content table.docutils th, .rst-content table.field-list th {\n    font-size: 90%;\n    margin: 0;\n    overflow: visible;\n    padding: 8px 16px\n}\n\n.wy-table td:first-child, .rst-content table.docutils td:first-child, .rst-content table.field-list td:first-child, .wy-table th:first-child, .rst-content table.docutils th:first-child, .rst-content table.field-list th:first-child {\n    border-left-width: 0\n}\n\n.wy-table thead, .rst-content table.docutils thead, .rst-content table.field-list thead {\n    color: #000;\n    text-align: left;\n    vertical-align: bottom;\n    white-space: nowrap\n}\n\n.wy-table thead th, .rst-content table.docutils thead th, .rst-content table.field-list thead th {\n    font-weight: bold;\n    border-bottom: solid 2px #e1e4e5\n}\n\n.wy-table td, .rst-content table.docutils td, .rst-content table.field-list td {\n    background-color: transparent;\n    vertical-align: middle\n}\n\n.wy-table td p, .rst-content table.docutils td p, .rst-content table.field-list td p {\n    line-height: 18px\n}\n\n.wy-table td p:last-child, .rst-content table.docutils td p:last-child, .rst-content table.field-list td p:last-child {\n    margin-bottom: 0\n}\n\n.wy-table .wy-table-cell-min, .rst-content table.docutils .wy-table-cell-min, .rst-content table.field-list .wy-table-cell-min {\n    width: 1%;\n    padding-right: 0\n}\n\n.wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox], .wy-table .wy-table-cell-min input[type=checkbox], .rst-content table.docutils .wy-table-cell-min input[type=checkbox], .rst-content table.field-list .wy-table-cell-min input[type=checkbox] {\n    margin: 0\n}\n\n.wy-table-secondary {\n    color: gray;\n    font-size: 90%\n}\n\n.wy-table-tertiary {\n    color: gray;\n    font-size: 80%\n}\n\n.wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {\n    background-color: #f3f6f6\n}\n\n.wy-table-backed {\n    background-color: #f3f6f6\n}\n\n.wy-table-bordered-all, .rst-content table.docutils {\n    border: 1px solid #e1e4e5\n}\n\n.wy-table-bordered-all td, .rst-content table.docutils td {\n    border-bottom: 1px solid #e1e4e5;\n    border-left: 1px solid #e1e4e5\n}\n\n.wy-table-bordered-all tbody > tr:last-child td, .rst-content table.docutils tbody > tr:last-child td {\n    border-bottom-width: 0\n}\n\n.wy-table-bordered {\n    border: 1px solid #e1e4e5\n}\n\n.wy-table-bordered-rows td {\n    border-bottom: 1px solid #e1e4e5\n}\n\n.wy-table-bordered-rows tbody > tr:last-child td {\n    border-bottom-width: 0\n}\n\n.wy-table-horizontal tbody > tr:last-child td {\n    border-bottom-width: 0\n}\n\n.wy-table-horizontal td, .wy-table-horizontal th {\n    border-width: 0 0 1px 0;\n    border-bottom: 1px solid #e1e4e5\n}\n\n.wy-table-horizontal tbody > tr:last-child td {\n    border-bottom-width: 0\n}\n\n.wy-table-responsive {\n    margin-bottom: 24px;\n    max-width: 100%;\n    overflow: auto\n}\n\n.wy-table-responsive table {\n    margin-bottom: 0 !important\n}\n\n.wy-table-responsive table td, .wy-table-responsive table th {\n    white-space: nowrap\n}\n\na {\n    color: #2980B9;\n    text-decoration: none;\n    cursor: pointer\n}\n\na:hover {\n    color: #3091d1\n}\n\na:visited {\n    color: #9B59B6\n}\n\nhtml {\n    height: 100%;\n    overflow-x: hidden\n}\n\nbody {\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif;\n    font-weight: normal;\n    color: #404040;\n    min-height: 100%;\n    overflow-x: hidden;\n    background: #edf0f2\n}\n\n.wy-text-left {\n    text-align: left\n}\n\n.wy-text-center {\n    text-align: center\n}\n\n.wy-text-right {\n    text-align: right\n}\n\n.wy-text-large {\n    font-size: 120%\n}\n\n.wy-text-normal {\n    font-size: 100%\n}\n\n.wy-text-small, small {\n    font-size: 80%\n}\n\n.wy-text-strike {\n    text-decoration: line-through\n}\n\n.wy-text-warning {\n    color: #E67E22 !important\n}\n\na.wy-text-warning:hover {\n    color: #eb9950 !important\n}\n\n.wy-text-info {\n    color: #2980B9 !important\n}\n\na.wy-text-info:hover {\n    color: #409ad5 !important\n}\n\n.wy-text-success {\n    color: #27AE60 !important\n}\n\na.wy-text-success:hover {\n    color: #36d278 !important\n}\n\n.wy-text-danger {\n    color: #E74C3C !important\n}\n\na.wy-text-danger:hover {\n    color: #ed7669 !important\n}\n\n.wy-text-neutral {\n    color: #404040 !important\n}\n\na.wy-text-neutral:hover {\n    color: #595959 !important\n}\n\nh1, h2, h3, h4, h5, h6, legend {\n    margin-top: 0;\n    font-weight: 700;\n    font-family: \"Roboto Slab\", \"ff-tisa-web-pro\", \"Georgia\", Arial, sans-serif\n}\n\np {\n    line-height: 24px;\n    margin: 0;\n    font-size: 16px;\n    margin-bottom: 24px\n}\n\nh1 {\n    font-size: 175%\n}\n\nh2 {\n    font-size: 150%\n}\n\nh3 {\n    font-size: 125%\n}\n\nh4 {\n    font-size: 115%\n}\n\nh5 {\n    font-size: 110%\n}\n\nh6 {\n    font-size: 100%\n}\n\nhr {\n    display: block;\n    height: 1px;\n    border: 0;\n    border-top: 1px solid #e1e4e5;\n    margin: 24px 0;\n    padding: 0\n}\n\ncode, .rst-content tt {\n    white-space: nowrap;\n    max-width: 100%;\n    background: #fff;\n    border: solid 1px #e1e4e5;\n    font-size: 75%;\n    padding: 0 5px;\n    font-family: Consolas, \"Andale Mono WT\", \"Andale Mono\", \"Lucida Console\", \"Lucida Sans Typewriter\", \"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"Liberation Mono\", \"Nimbus Mono L\", Monaco, \"Courier New\", Courier, monospace;\n    color: #E74C3C;\n    overflow-x: auto\n}\n\ncode.code-large, .rst-content tt.code-large {\n    font-size: 90%\n}\n\n.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul {\n    list-style: disc;\n    line-height: 24px;\n    margin-bottom: 24px\n}\n\n.wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li {\n    list-style: disc;\n    margin-left: 24px\n}\n\n.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child {\n    margin-bottom: 0\n}\n\n.wy-plain-list-disc li ul, .rst-content .section ul li ul, .rst-content .toctree-wrapper ul li ul, article ul li ul {\n    margin-bottom: 0\n}\n\n.wy-plain-list-disc li li, .rst-content .section ul li li, .rst-content .toctree-wrapper ul li li, article ul li li {\n    list-style: circle\n}\n\n.wy-plain-list-disc li li li, .rst-content .section ul li li li, .rst-content .toctree-wrapper ul li li li, article ul li li li {\n    list-style: square\n}\n\n.wy-plain-list-disc li ol li, .rst-content .section ul li ol li, .rst-content .toctree-wrapper ul li ol li, article ul li ol li {\n    list-style: decimal\n}\n\n.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol {\n    list-style: decimal;\n    line-height: 24px;\n    margin-bottom: 24px\n}\n\n.wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li {\n    list-style: decimal;\n    margin-left: 24px\n}\n\n.wy-plain-list-decimal li p:last-child, .rst-content .section ol li p:last-child, .rst-content ol.arabic li p:last-child, article ol li p:last-child {\n    margin-bottom: 0\n}\n\n.wy-plain-list-decimal li ul, .rst-content .section ol li ul, .rst-content ol.arabic li ul, article ol li ul {\n    margin-bottom: 0\n}\n\n.wy-plain-list-decimal li ul li, .rst-content .section ol li ul li, .rst-content ol.arabic li ul li, article ol li ul li {\n    list-style: disc\n}\n\n.codeblock-example {\n    border: 1px solid #e1e4e5;\n    border-bottom: none;\n    padding: 24px;\n    padding-top: 48px;\n    font-weight: 500;\n    background: #fff;\n    position: relative\n}\n\n.codeblock-example:after {\n    content: \"Example\";\n    position: absolute;\n    top: 0px;\n    left: 0px;\n    background: #9B59B6;\n    color: #fff;\n    padding: 6px 12px\n}\n\n.codeblock-example.prettyprint-example-only {\n    border: 1px solid #e1e4e5;\n    margin-bottom: 24px\n}\n\n.codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'] {\n    border: 1px solid #e1e4e5;\n    padding: 0px;\n    overflow-x: auto;\n    background: #fff;\n    margin: 1px 0 24px 0\n}\n\n.codeblock div[class^='highlight'], pre.literal-block div[class^='highlight'], .rst-content .literal-block div[class^='highlight'], div[class^='highlight'] div[class^='highlight'] {\n    border: none;\n    background: none;\n    margin: 0\n}\n\ndiv[class^='highlight'] td.code {\n    width: 100%\n}\n\n.linenodiv pre {\n    border-right: solid 1px #e6e9ea;\n    margin: 0;\n    padding: 12px 12px;\n    font-family: Consolas, \"Andale Mono WT\", \"Andale Mono\", \"Lucida Console\", \"Lucida Sans Typewriter\", \"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"Liberation Mono\", \"Nimbus Mono L\", Monaco, \"Courier New\", Courier, monospace;\n    font-size: 12px;\n    line-height: 1.5;\n    color: #d9d9d9\n}\n\ndiv[class^='highlight'] pre {\n    white-space: pre;\n    margin: 0;\n    padding: 12px 12px;\n    font-family: Consolas, \"Andale Mono WT\", \"Andale Mono\", \"Lucida Console\", \"Lucida Sans Typewriter\", \"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"Liberation Mono\", \"Nimbus Mono L\", Monaco, \"Courier New\", Courier, monospace;\n    font-size: 12px;\n    line-height: 1.5;\n    display: block;\n    overflow: auto;\n    color: #404040\n}\n\n@media print {\n    .codeblock, pre.literal-block, .rst-content .literal-block, .rst-content pre.literal-block, div[class^='highlight'], div[class^='highlight'] pre {\n        white-space: pre-wrap\n    }\n}\n\n.hll {\n    background-color: #ffc;\n    margin: 0 -12px;\n    padding: 0 12px;\n    display: block\n}\n\n.c {\n    color: #998;\n    font-style: italic\n}\n\n.err {\n    color: #a61717;\n    background-color: #e3d2d2\n}\n\n.k {\n    font-weight: bold\n}\n\n.o {\n    font-weight: bold\n}\n\n.cm {\n    color: #998;\n    font-style: italic\n}\n\n.cp {\n    color: #999;\n    font-weight: bold\n}\n\n.c1 {\n    color: #998;\n    font-style: italic\n}\n\n.cs {\n    color: #999;\n    font-weight: bold;\n    font-style: italic\n}\n\n.gd {\n    color: #000;\n    background-color: #fdd\n}\n\n.gd .x {\n    color: #000;\n    background-color: #faa\n}\n\n.ge {\n    font-style: italic\n}\n\n.gr {\n    color: #a00\n}\n\n.gh {\n    color: #999\n}\n\n.gi {\n    color: #000;\n    background-color: #dfd\n}\n\n.gi .x {\n    color: #000;\n    background-color: #afa\n}\n\n.go {\n    color: #888\n}\n\n.gp {\n    color: #555\n}\n\n.gs {\n    font-weight: bold\n}\n\n.gu {\n    color: purple;\n    font-weight: bold\n}\n\n.gt {\n    color: #a00\n}\n\n.kc {\n    font-weight: bold\n}\n\n.kd {\n    font-weight: bold\n}\n\n.kn {\n    font-weight: bold\n}\n\n.kp {\n    font-weight: bold\n}\n\n.kr {\n    font-weight: bold\n}\n\n.kt {\n    color: #458;\n    font-weight: bold\n}\n\n.m {\n    color: #099\n}\n\n.s {\n    color: #d14\n}\n\n.n {\n    color: #333\n}\n\n.na {\n    color: teal\n}\n\n.nb {\n    color: #0086b3\n}\n\n.nc {\n    color: #458;\n    font-weight: bold\n}\n\n.no {\n    color: teal\n}\n\n.ni {\n    color: purple\n}\n\n.ne {\n    color: #900;\n    font-weight: bold\n}\n\n.nf {\n    color: #900;\n    font-weight: bold\n}\n\n.nn {\n    color: #555\n}\n\n.nt {\n    color: navy\n}\n\n.nv {\n    color: teal\n}\n\n.ow {\n    font-weight: bold\n}\n\n.w {\n    color: #bbb\n}\n\n.mf {\n    color: #099\n}\n\n.mh {\n    color: #099\n}\n\n.mi {\n    color: #099\n}\n\n.mo {\n    color: #099\n}\n\n.sb {\n    color: #d14\n}\n\n.sc {\n    color: #d14\n}\n\n.sd {\n    color: #d14\n}\n\n.s2 {\n    color: #d14\n}\n\n.se {\n    color: #d14\n}\n\n.sh {\n    color: #d14\n}\n\n.si {\n    color: #d14\n}\n\n.sx {\n    color: #d14\n}\n\n.sr {\n    color: #009926\n}\n\n.s1 {\n    color: #d14\n}\n\n.ss {\n    color: #990073\n}\n\n.bp {\n    color: #999\n}\n\n.vc {\n    color: teal\n}\n\n.vg {\n    color: teal\n}\n\n.vi {\n    color: teal\n}\n\n.il {\n    color: #099\n}\n\n.gc {\n    color: #999;\n    background-color: #EAF2F5\n}\n\n.wy-breadcrumbs li {\n    display: inline-block\n}\n\n.wy-breadcrumbs li.wy-breadcrumbs-aside {\n    float: right\n}\n\n.wy-breadcrumbs li a {\n    display: inline-block;\n    padding: 5px\n}\n\n.wy-breadcrumbs li a:first-child {\n    padding-left: 0\n}\n\n.wy-breadcrumbs-extra {\n    margin-bottom: 0;\n    color: #b3b3b3;\n    font-size: 80%;\n    display: inline-block\n}\n\n@media screen and (max-width: 480px) {\n    .wy-breadcrumbs-extra {\n        display: none\n    }\n\n    .wy-breadcrumbs li.wy-breadcrumbs-aside {\n        display: none\n    }\n}\n\n@media print {\n    .wy-breadcrumbs li.wy-breadcrumbs-aside {\n        display: none\n    }\n}\n\n.wy-affix {\n    position: fixed;\n    top: 1.618em\n}\n\n.wy-menu a:hover {\n    text-decoration: none\n}\n\n.wy-menu-horiz {\n    *zoom: 1\n}\n\n.wy-menu-horiz:before, .wy-menu-horiz:after {\n    display: table;\n    content: \"\"\n}\n\n.wy-menu-horiz:after {\n    clear: both\n}\n\n.wy-menu-horiz ul, .wy-menu-horiz li {\n    display: inline-block\n}\n\n.wy-menu-horiz li:hover {\n    background: rgba(255, 255, 255, 0.1)\n}\n\n.wy-menu-horiz li.divide-left {\n    border-left: solid 1px #404040\n}\n\n.wy-menu-horiz li.divide-right {\n    border-right: solid 1px #404040\n}\n\n.wy-menu-horiz a {\n    height: 32px;\n    display: inline-block;\n    line-height: 32px;\n    padding: 0 16px\n}\n\n.wy-menu-vertical header {\n    height: 32px;\n    display: inline-block;\n    line-height: 32px;\n    padding: 0 1.618em;\n    display: block;\n    font-weight: bold;\n    text-transform: uppercase;\n    font-size: 80%;\n    color: #2980B9;\n    white-space: nowrap\n}\n\n.wy-menu-vertical ul {\n    margin-bottom: 0\n}\n\n.wy-menu-vertical li.divide-top {\n    border-top: solid 1px #404040\n}\n\n.wy-menu-vertical li.divide-bottom {\n    border-bottom: solid 1px #404040\n}\n\n.wy-menu-vertical li.current {\n    background: #e3e3e3\n}\n\n.wy-menu-vertical li.current a {\n    color: gray;\n    border-right: solid 1px #c9c9c9;\n    padding: 0.4045em 2.427em\n}\n\n.wy-menu-vertical li.current a:hover {\n    background: #d6d6d6\n}\n\n.wy-menu-vertical li.on a, .wy-menu-vertical li.current > a {\n    color: #404040;\n    padding: 0.4045em 1.618em;\n    font-weight: bold;\n    position: relative;\n    background: #fcfcfc;\n    border: none;\n    border-bottom: solid 1px #c9c9c9;\n    border-top: solid 1px #c9c9c9;\n    padding-left: 1.618em -4px\n}\n\n.wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover {\n    background: #fcfcfc\n}\n\n.wy-menu-vertical li.toctree-l2.current > a {\n    background: #c9c9c9;\n    padding: 0.4045em 2.427em\n}\n\n.wy-menu-vertical li.current ul {\n    display: block\n}\n\n.wy-menu-vertical li ul {\n    margin-bottom: 0;\n    display: none\n}\n\n.wy-menu-vertical .local-toc li ul {\n    display: block\n}\n\n.wy-menu-vertical li ul li a {\n    margin-bottom: 0;\n    color: #b3b3b3;\n    font-weight: normal\n}\n\n.wy-menu-vertical a {\n    display: inline-block;\n    line-height: 18px;\n    padding: 0.4045em 1.618em;\n    display: block;\n    position: relative;\n    font-size: 90%;\n    color: #b3b3b3\n}\n\n.wy-menu-vertical a:hover {\n    background-color: #4e4a4a;\n    cursor: pointer\n}\n\n.wy-menu-vertical a:active {\n    background-color: #2980B9;\n    cursor: pointer;\n    color: #fff\n}\n\n.wy-side-nav-search {\n    z-index: 200;\n    background-color: #2980B9;\n    text-align: center;\n    padding: 0.809em;\n    display: block;\n    color: #fcfcfc;\n    margin-bottom: 0.809em\n}\n\n.wy-side-nav-search input[type=text] {\n    width: 100%;\n    border-radius: 50px;\n    padding: 6px 12px;\n    border-color: #2472a4\n}\n\n.wy-side-nav-search img {\n    display: block;\n    margin: auto auto 0.809em auto;\n    height: 45px;\n    width: 45px;\n    background-color: #2980B9;\n    padding: 5px;\n    border-radius: 100%\n}\n\n.wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a {\n    color: #fcfcfc;\n    font-size: 100%;\n    font-weight: bold;\n    display: inline-block;\n    padding: 4px 6px;\n    margin-bottom: 0.809em\n}\n\n.wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover {\n    background: rgba(255, 255, 255, 0.1)\n}\n\n.wy-nav .wy-menu-vertical header {\n    color: #2980B9\n}\n\n.wy-nav .wy-menu-vertical a {\n    color: #b3b3b3\n}\n\n.wy-nav .wy-menu-vertical a:hover {\n    background-color: #2980B9;\n    color: #fff\n}\n\n[data-menu-wrap] {\n    -webkit-transition: all 0.2s ease-in;\n    -moz-transition: all 0.2s ease-in;\n    transition: all 0.2s ease-in;\n    position: absolute;\n    opacity: 1;\n    width: 100%;\n    opacity: 0\n}\n\n[data-menu-wrap].move-center {\n    left: 0;\n    right: auto;\n    opacity: 1\n}\n\n[data-menu-wrap].move-left {\n    right: auto;\n    left: -100%;\n    opacity: 0\n}\n\n[data-menu-wrap].move-right {\n    right: -100%;\n    left: auto;\n    opacity: 0\n}\n\n.wy-body-for-nav {\n    background: left repeat-y #fcfcfc;\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);\n    background-size: 300px 1px\n}\n\n.wy-grid-for-nav {\n    position: absolute;\n    width: 100%;\n    height: 100%\n}\n\n.wy-nav-side {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 300px;\n    overflow: hidden;\n    min-height: 100%;\n    background: #343131;\n    z-index: 200\n}\n\n.wy-nav-top {\n    display: none;\n    background: #2980B9;\n    color: #fff;\n    padding: 0.4045em 0.809em;\n    position: relative;\n    line-height: 50px;\n    text-align: center;\n    font-size: 100%;\n    *zoom: 1\n}\n\n.wy-nav-top:before, .wy-nav-top:after {\n    display: table;\n    content: \"\"\n}\n\n.wy-nav-top:after {\n    clear: both\n}\n\n.wy-nav-top a {\n    color: #fff;\n    font-weight: bold\n}\n\n.wy-nav-top img {\n    margin-right: 12px;\n    height: 45px;\n    width: 45px;\n    background-color: #2980B9;\n    padding: 5px;\n    border-radius: 100%\n}\n\n.wy-nav-top i {\n    font-size: 30px;\n    float: left;\n    cursor: pointer\n}\n\n.wy-nav-content-wrap {\n    margin-left: 300px;\n    background: #fcfcfc;\n    min-height: 100%\n}\n\n.wy-nav-content {\n    padding: 1.618em 3.236em;\n    height: 100%;\n    max-width: 800px;\n    margin: auto\n}\n\n.wy-body-mask {\n    position: fixed;\n    width: 100%;\n    height: 100%;\n    background: rgba(0, 0, 0, 0.2);\n    display: none;\n    z-index: 499\n}\n\n.wy-body-mask.on {\n    display: block\n}\n\nfooter {\n    color: #999\n}\n\nfooter p {\n    margin-bottom: 12px\n}\n\n.rst-footer-buttons {\n    *zoom: 1\n}\n\n.rst-footer-buttons:before, .rst-footer-buttons:after {\n    display: table;\n    content: \"\"\n}\n\n.rst-footer-buttons:after {\n    clear: both\n}\n\n#search-results .search li {\n    margin-bottom: 24px;\n    border-bottom: solid 1px #e1e4e5;\n    padding-bottom: 24px\n}\n\n#search-results .search li:first-child {\n    border-top: solid 1px #e1e4e5;\n    padding-top: 24px\n}\n\n#search-results .search li a {\n    font-size: 120%;\n    margin-bottom: 12px;\n    display: inline-block\n}\n\n#search-results .context {\n    color: gray;\n    font-size: 90%\n}\n\n@media screen and (max-width: 768px) {\n    .wy-body-for-nav {\n        background: #fcfcfc\n    }\n\n    .wy-nav-top {\n        display: block\n    }\n\n    .wy-nav-side {\n        left: -300px\n    }\n\n    .wy-nav-side.shift {\n        width: 85%;\n        left: 0\n    }\n\n    .wy-nav-content-wrap {\n        margin-left: 0\n    }\n\n    .wy-nav-content-wrap .wy-nav-content {\n        padding: 1.618em\n    }\n\n    .wy-nav-content-wrap.shift {\n        position: fixed;\n        min-width: 100%;\n        left: 85%;\n        top: 0;\n        height: 100%;\n        overflow: hidden\n    }\n}\n\n@media screen and (min-width: 1400px) {\n    .wy-nav-content-wrap {\n        background: rgba(0, 0, 0, 0.05)\n    }\n\n    .wy-nav-content {\n        margin: 0;\n        background: #fcfcfc\n    }\n}\n\n@media print {\n    .rst-versions, footer, .wy-nav-side {\n        display: none\n    }\n\n    .wy-nav-content-wrap {\n        margin-left: 0\n    }\n}\n\nnav.stickynav {\n    position: fixed;\n    top: 0\n}\n\n.rst-versions {\n    position: fixed;\n    bottom: 0;\n    left: 0;\n    width: 300px;\n    color: #fcfcfc;\n    background: #1f1d1d;\n    border-top: solid 10px #343131;\n    font-family: \"Proxima Nova\", \"Helvetica Neue\", Arial, sans-serif;\n    z-index: 400\n}\n\n.rst-versions a {\n    color: #2980B9;\n    text-decoration: none\n}\n\n.rst-versions .rst-badge-small {\n    display: none\n}\n\n.rst-versions .rst-current-version {\n    padding: 12px;\n    background-color: #272525;\n    display: block;\n    text-align: right;\n    font-size: 90%;\n    cursor: pointer;\n    color: #27AE60;\n    *zoom: 1\n}\n\n.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after {\n    display: table;\n    content: \"\"\n}\n\n.rst-versions .rst-current-version:after {\n    clear: both\n}\n\n.rst-versions .rst-current-version .fa, .rst-versions .rst-current-version .rst-content .admonition-title, .rst-content .rst-versions .rst-current-version .admonition-title, .rst-versions .rst-current-version .rst-content h1 .headerlink, .rst-content h1 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h2 .headerlink, .rst-content h2 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h3 .headerlink, .rst-content h3 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h4 .headerlink, .rst-content h4 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h5 .headerlink, .rst-content h5 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content h6 .headerlink, .rst-content h6 .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .rst-content dl dt .headerlink, .rst-content dl dt .rst-versions .rst-current-version .headerlink, .rst-versions .rst-current-version .icon {\n    color: #fcfcfc\n}\n\n.rst-versions .rst-current-version .fa-book, .rst-versions .rst-current-version .icon-book {\n    float: left\n}\n\n.rst-versions .rst-current-version .icon-book {\n    float: left\n}\n\n.rst-versions .rst-current-version.rst-out-of-date {\n    background-color: #E74C3C;\n    color: #fff\n}\n\n.rst-versions .rst-current-version.rst-active-old-version {\n    background-color: #F1C40F;\n    color: #000\n}\n\n.rst-versions.shift-up .rst-other-versions {\n    display: block\n}\n\n.rst-versions .rst-other-versions {\n    font-size: 90%;\n    padding: 12px;\n    color: gray;\n    display: none\n}\n\n.rst-versions .rst-other-versions hr {\n    display: block;\n    height: 1px;\n    border: 0;\n    margin: 20px 0;\n    padding: 0;\n    border-top: solid 1px #413d3d\n}\n\n.rst-versions .rst-other-versions dd {\n    display: inline-block;\n    margin: 0\n}\n\n.rst-versions .rst-other-versions dd a {\n    display: inline-block;\n    padding: 6px;\n    color: #fcfcfc\n}\n\n.rst-versions.rst-badge {\n    width: auto;\n    bottom: 20px;\n    right: 20px;\n    left: auto;\n    border: none;\n    max-width: 300px\n}\n\n.rst-versions.rst-badge .icon-book {\n    float: none\n}\n\n.rst-versions.rst-badge .fa-book, .rst-versions.rst-badge .icon-book {\n    float: none\n}\n\n.rst-versions.rst-badge.shift-up .rst-current-version {\n    text-align: right\n}\n\n.rst-versions.rst-badge.shift-up .rst-current-version .fa-book, .rst-versions.rst-badge.shift-up .rst-current-version .icon-book {\n    float: left\n}\n\n.rst-versions.rst-badge.shift-up .rst-current-version .icon-book {\n    float: left\n}\n\n.rst-versions.rst-badge .rst-current-version {\n    width: auto;\n    height: 30px;\n    line-height: 30px;\n    padding: 0 6px;\n    display: block;\n    text-align: center\n}\n\n@media screen and (max-width: 768px) {\n    .rst-versions {\n        width: 85%;\n        display: none\n    }\n\n    .rst-versions.shift {\n        display: block\n    }\n\n    img {\n        width: 100%;\n        height: auto\n    }\n}\n\n.rst-content img {\n    max-width: 100%;\n    height: auto !important\n}\n\n.rst-content div.figure {\n    margin-bottom: 24px\n}\n\n.rst-content div.figure.align-center {\n    text-align: center\n}\n\n.rst-content .section > img, .rst-content .section > a > img {\n    margin-bottom: 24px\n}\n\n.rst-content blockquote {\n    margin-left: 24px;\n    line-height: 24px;\n    margin-bottom: 24px\n}\n\n.rst-content .note .last, .rst-content .attention .last, .rst-content .caution .last, .rst-content .danger .last, .rst-content .error .last, .rst-content .hint .last, .rst-content .important .last, .rst-content .tip .last, .rst-content .warning .last, .rst-content .seealso .last, .rst-content .admonition-todo .last {\n    margin-bottom: 0\n}\n\n.rst-content .admonition-title:before {\n    margin-right: 4px\n}\n\n.rst-content .admonition table {\n    border-color: rgba(0, 0, 0, 0.1)\n}\n\n.rst-content .admonition table td, .rst-content .admonition table th {\n    background: transparent !important;\n    border-color: rgba(0, 0, 0, 0.1) !important\n}\n\n.rst-content .section ol.loweralpha, .rst-content .section ol.loweralpha li {\n    list-style: lower-alpha\n}\n\n.rst-content .section ol.upperalpha, .rst-content .section ol.upperalpha li {\n    list-style: upper-alpha\n}\n\n.rst-content .section ol p, .rst-content .section ul p {\n    margin-bottom: 12px\n}\n\n.rst-content .line-block {\n    margin-left: 24px\n}\n\n.rst-content .topic-title {\n    font-weight: bold;\n    margin-bottom: 12px\n}\n\n.rst-content .toc-backref {\n    color: #404040\n}\n\n.rst-content .align-right {\n    float: right;\n    margin: 0px 0px 24px 24px\n}\n\n.rst-content .align-left {\n    float: left;\n    margin: 0px 24px 24px 0px\n}\n\n.rst-content .align-center {\n    margin: auto;\n    display: block\n}\n\n.rst-content h1 .headerlink, .rst-content h2 .headerlink, .rst-content h3 .headerlink, .rst-content h4 .headerlink, .rst-content h5 .headerlink, .rst-content h6 .headerlink, .rst-content dl dt .headerlink {\n    display: none;\n    visibility: hidden;\n    font-size: 14px\n}\n\n.rst-content h1 .headerlink:after, .rst-content h2 .headerlink:after, .rst-content h3 .headerlink:after, .rst-content h4 .headerlink:after, .rst-content h5 .headerlink:after, .rst-content h6 .headerlink:after, .rst-content dl dt .headerlink:after {\n    visibility: visible;\n    content: \"\";\n    font-family: FontAwesome;\n    display: inline-block\n}\n\n.rst-content h1:hover .headerlink, .rst-content h2:hover .headerlink, .rst-content h3:hover .headerlink, .rst-content h4:hover .headerlink, .rst-content h5:hover .headerlink, .rst-content h6:hover .headerlink, .rst-content dl dt:hover .headerlink {\n    display: inline-block\n}\n\n.rst-content .sidebar {\n    float: right;\n    width: 40%;\n    display: block;\n    margin: 0 0 24px 24px;\n    padding: 24px;\n    background: #f3f6f6;\n    border: solid 1px #e1e4e5\n}\n\n.rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl {\n    font-size: 90%\n}\n\n.rst-content .sidebar .last {\n    margin-bottom: 0\n}\n\n.rst-content .sidebar .sidebar-title {\n    display: block;\n    font-family: \"Roboto Slab\", \"ff-tisa-web-pro\", \"Georgia\", Arial, sans-serif;\n    font-weight: bold;\n    background: #e1e4e5;\n    padding: 6px 12px;\n    margin: -24px;\n    margin-bottom: 24px;\n    font-size: 100%\n}\n\n.rst-content .highlighted {\n    background: #F1C40F;\n    display: inline-block;\n    font-weight: bold;\n    padding: 0 6px\n}\n\n.rst-content .footnote-reference, .rst-content .citation-reference {\n    vertical-align: super;\n    font-size: 90%\n}\n\n.rst-content table.docutils.citation, .rst-content table.docutils.footnote {\n    background: none;\n    border: none;\n    color: #999\n}\n\n.rst-content table.docutils.citation td, .rst-content table.docutils.citation tr, .rst-content table.docutils.footnote td, .rst-content table.docutils.footnote tr {\n    border: none;\n    background-color: transparent !important;\n    white-space: normal\n}\n\n.rst-content table.docutils.citation td.label, .rst-content table.docutils.footnote td.label {\n    padding-left: 0;\n    padding-right: 0;\n    vertical-align: top\n}\n\n.rst-content table.field-list {\n    border: none\n}\n\n.rst-content table.field-list td {\n    border: none;\n    padding-top: 5px\n}\n\n.rst-content table.field-list td > strong {\n    display: inline-block;\n    margin-top: 3px\n}\n\n.rst-content table.field-list .field-name {\n    padding-right: 10px;\n    text-align: left;\n    white-space: nowrap\n}\n\n.rst-content table.field-list .field-body {\n    text-align: left;\n    padding-left: 0\n}\n\n.rst-content tt {\n    color: #000\n}\n\n.rst-content tt big, .rst-content tt em {\n    font-size: 100% !important;\n    line-height: normal\n}\n\n.rst-content tt .xref, a .rst-content tt {\n    font-weight: bold\n}\n\n.rst-content a tt {\n    color: #2980B9\n}\n\n.rst-content dl {\n    margin-bottom: 24px\n}\n\n.rst-content dl dt {\n    font-weight: bold\n}\n\n.rst-content dl p, .rst-content dl table, .rst-content dl ul, .rst-content dl ol {\n    margin-bottom: 12px !important\n}\n\n.rst-content dl dd {\n    margin: 0 0 12px 24px\n}\n\n.rst-content dl:not(.docutils) {\n    margin-bottom: 24px\n}\n\n.rst-content dl:not(.docutils) dt {\n    display: inline-block;\n    margin: 6px 0;\n    font-size: 90%;\n    line-height: normal;\n    background: #e7f2fa;\n    color: #2980B9;\n    border-top: solid 3px #6ab0de;\n    padding: 6px;\n    position: relative\n}\n\n.rst-content dl:not(.docutils) dt:before {\n    color: #6ab0de\n}\n\n.rst-content dl:not(.docutils) dt .headerlink {\n    color: #404040;\n    font-size: 100% !important\n}\n\n.rst-content dl:not(.docutils) dl dt {\n    margin-bottom: 6px;\n    border: none;\n    border-left: solid 3px #ccc;\n    background: #f0f0f0;\n    color: gray\n}\n\n.rst-content dl:not(.docutils) dl dt .headerlink {\n    color: #404040;\n    font-size: 100% !important\n}\n\n.rst-content dl:not(.docutils) dt:first-child {\n    margin-top: 0\n}\n\n.rst-content dl:not(.docutils) tt {\n    font-weight: bold\n}\n\n.rst-content dl:not(.docutils) tt.descname, .rst-content dl:not(.docutils) tt.descclassname {\n    background-color: transparent;\n    border: none;\n    padding: 0;\n    font-size: 100% !important\n}\n\n.rst-content dl:not(.docutils) tt.descname {\n    font-weight: bold\n}\n\n.rst-content dl:not(.docutils) .optional {\n    display: inline-block;\n    padding: 0 4px;\n    color: #000;\n    font-weight: bold\n}\n\n.rst-content dl:not(.docutils) .property {\n    display: inline-block;\n    padding-right: 8px\n}\n\n.rst-content .viewcode-link, .rst-content .viewcode-back {\n    display: inline-block;\n    color: #27AE60;\n    font-size: 80%;\n    padding-left: 24px\n}\n\n.rst-content .viewcode-back {\n    display: block;\n    float: right\n}\n\n.rst-content p.rubric {\n    margin-bottom: 12px;\n    font-weight: bold\n}\n\n@media screen and (max-width: 480px) {\n    .rst-content .sidebar {\n        width: 100%\n    }\n}\n\nspan[id*='MathJax-Span'] {\n    color: #404040\n}\n\n.math {\n    text-align: center\n}\n\n/*# sourceMappingURL=theme.css.map */\n"
  },
  {
    "path": "documentation/website/default.twig",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>{{ title }}</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"{{ baseUrl }}/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"{{ baseUrl }}/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"{{ baseUrl }}/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"{{ baseUrl }}/dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"{{ baseUrl }}/dist/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"{{ baseUrl }}/dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"{{ baseUrl }}/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"{{ baseUrl }}/\"> {{ title|default('The title') }}</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                {% for itemId, item in menu.items %}\n                    <li class=\"toctree-l1 {{ itemId == currentMenu or ( item.items is defined and currentMenu in item.items|keys ) ? 'current' }}\">\n                        <a class=\"reference internal {{ itemId == currentMenu ? 'current' }}\"\n                           href=\"{{ item.absoluteUrl|default(baseUrl ~ '/' ~ item.relativeUrl) }}\">\n                            {{ item.text|raw }}\n                        </a>\n                        {% if item.items is defined %}\n                            <ul>\n                                {% for subItemId, subItem in item.items %}\n                                    <li class=\"toctree-l2 {{ subItemId == currentMenu ? 'current' }}\">\n                                        <a class=\"reference internal {{ subItemId == currentMenu ? 'current' }}\"\n                                           href=\"{{ subItem.absoluteUrl|default(baseUrl ~ '/' ~ subItem.relativeUrl) }}\">\n                                            {{ subItem.text|raw }}\n                                        </a>\n                                    </li>\n                                {% endfor %}\n                            </ul>\n                        {% endif %}\n                    </li>\n                {% endfor %}\n            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"{{ baseUrl }}/images/swis-logo.png\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n        {# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}\n        <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"{{ baseUrl }}/\">{{ title|default('The title') }}</a>\n        </nav>\n\n\n        {# PAGE CONTENT #}\n        <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                    {#<a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github maintained-by-swis fa fa-home\"> Maintained by SWIS</a>#}\n                    <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    {{ content|raw }}\n                </div>\n\n                <footer>\n                    <hr/>\n                    {% if not github is empty %}\n                        <div role=\"contentinfo\">\n                            <p>\n                                Find {{ title }} on <a href=\"https://github.com/{{ github.user }}/{{ github.repo }}\">GitHub</a>.\n                            </p>\n                        </div>\n                    {% endif %}\n                </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"{{ baseUrl }}/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "documentation/website/js/main.js",
    "content": "(function($, undefined){\n    $(function() {\n\n        $('.document table').addClass('docutils');\n\n        $('.showcase').each(function(){\n\n            var $this = $(that || this),\n                text, nodeName, lang, that;\n\n            if ($this.data('showcaseImport')) {\n                $this = $($this.data('showcaseImport'));\n                that = $this.get(0);\n            }\n\n            nodeName = (that || this).nodeName.toLowerCase();\n            lang = nodeName == 'script'\n                ? 'js'\n                : (nodeName == 'style' ? 'css' : 'html');\n\n            if (lang == 'html') {\n                text = $('<div></div>').append($this.clone()).html();\n            } else {\n                text = $this.text();\n            }\n\n            var newNode = $('<pre></pre>')\n                .append($('<code class=\"'+ lang +'\"></code>').text(text))\n                .insertBefore(this);\n\n            that && $(this).remove();\n        });\n\n    });\n\n})(jQuery);"
  },
  {
    "path": "documentation/website/js/theme.js",
    "content": "$( document ).ready(function() {\n    // Shift nav in mobile when clicking the menu.\n    $(document).on('click', \"[data-toggle='wy-nav-top']\", function() {\n      $(\"[data-toggle='wy-nav-shift']\").toggleClass(\"shift\");\n      $(\"[data-toggle='rst-versions']\").toggleClass(\"shift\");\n    });\n    // Close menu when you click a link.\n    $(document).on('click', \".wy-menu-vertical .current ul li a\", function() {\n      $(\"[data-toggle='wy-nav-shift']\").removeClass(\"shift\");\n      $(\"[data-toggle='rst-versions']\").toggleClass(\"shift\");\n    });\n    $(document).on('click', \"[data-toggle='rst-current-version']\", function() {\n      $(\"[data-toggle='rst-versions']\").toggleClass(\"shift-up\");\n    });  \n    // Make tables responsive\n    $(\"table.docutils:not(.field-list)\").wrap(\"<div class='wy-table-responsive'></div>\");\n});\n\nwindow.SphinxRtdTheme = (function (jquery) {\n    var stickyNav = (function () {\n        var navBar,\n            win,\n            stickyNavCssClass = 'stickynav',\n            applyStickNav = function () {\n                if (navBar.height() <= win.height()) {\n                    navBar.addClass(stickyNavCssClass);\n                } else {\n                    navBar.removeClass(stickyNavCssClass);\n                }\n            },\n            enable = function () {\n                applyStickNav();\n                win.on('resize', applyStickNav);\n            },\n            init = function () {\n                navBar = jquery('nav.wy-nav-side:first');\n                win    = jquery(window);\n            };\n        jquery(init);\n        return {\n            enable : enable\n        };\n    }());\n    return {\n        StickyNav : stickyNav\n    };\n}($));\n"
  },
  {
    "path": "documentation/website/original-theme/bower.json",
    "content": "{\n    \"name\": \"couscous-readthedocs-template\",\n    \"dependencies\": {\n        \"wyrm\": \"~0.0.x\"\n    }\n}\n"
  },
  {
    "path": "documentation/website/original-theme/css/badge_only.css",
    "content": "﻿.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:\"\"}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url(\"../font/fontawesome_webfont.eot\");src:url(\"../font/fontawesome_webfont.eot?#iefix\") format(\"embedded-opentype\"),url(\"../font/fontawesome_webfont.woff\") format(\"woff\"),url(\"../font/fontawesome_webfont.ttf\") format(\"truetype\"),url(\"../font/fontawesome_webfont.svg#FontAwesome\") format(\"svg\")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:\"\"}.icon-book:before{content:\"\"}.fa-caret-down:before{content:\"\"}.icon-caret-down:before{content:\"\"}.fa-caret-up:before{content:\"\"}.icon-caret-up:before{content:\"\"}.fa-caret-left:before{content:\"\"}.icon-caret-left:before{content:\"\"}.fa-caret-right:before{content:\"\"}.icon-caret-right:before{content:\"\"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:\"Lato\",\"proxima-nova\",\"Helvetica Neue\",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:\"\"}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}\n/*# sourceMappingURL=badge_only.css.map */\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_badge.sass",
    "content": ".rst-versions\n  position: fixed\n  bottom: 0\n  left: 0\n  width: $nav-desktop-width\n  color: $section-background-color\n  background: darken($menu-background-color, 8%)\n  border-top: solid 10px $menu-background-color\n  font-family: $base-font-family\n  z-index: $z-index-tray\n  a\n    color: $link_color\n    text-decoration: none\n  .rst-badge-small\n    display: none\n  .rst-current-version\n    padding: $base-line-height / 2\n    background-color: darken($menu-background-color, 5%)\n    display: block\n    text-align: right\n    font-size: 90%\n    cursor: pointer\n    color: $green\n    +clearfix\n    .fa\n      color: $section-background-color\n    .fa-book\n      float: left\n    .icon-book\n      float: left\n    &.rst-out-of-date\n      background-color: $red\n      color: $white\n    &.rst-active-old-version\n      background-color: $yellow\n      color: $black\n  &.shift-up .rst-other-versions\n    display: block\n  .rst-other-versions\n    font-size: 90%\n    padding: $base-line-height / 2\n    color: $text-medium\n    display: none\n    hr\n      display: block\n      height: 1px\n      border: 0\n      margin: 20px 0\n      padding: 0\n      border-top: solid 1px lighten($menu-background-color, 5%)\n    dd\n      display: inline-block\n      margin: 0\n      a\n        display: inline-block\n        padding: $base-line-height / 4\n        color: $section-background-color\n  &.rst-badge\n    width: auto\n    bottom: 20px\n    right: 20px\n    left: auto\n    border: none\n    max-width: $nav-desktop-width\n    .icon-book\n      float: none\n    .fa-book\n      float: none\n    &.shift-up .rst-current-version\n      text-align: right\n      .fa-book\n        float: left\n      .icon-book\n        float: left\n    .rst-current-version\n      width: auto\n      height: 30px\n      line-height: 30px\n      padding: 0 $base-line-height / 4\n      display: block\n      text-align: center\n\n+media($tablet)\n  .rst-versions\n    width: 85%\n    display: none\n    &.shift\n      display: block\n  img\n    width: 100%\n    height: auto\n\n\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_badge_fa.sass",
    "content": "// Slimmer version of FA for use on the badge_only.sass file.\n\n+font-face(FontAwesome, '#{$font-awesome-dir}fontawesome_webfont')\n\n.fa:before\n  display: inline-block\n  font-family: FontAwesome\n  font-style: normal\n  font-weight: normal\n  line-height: 1\n  text-decoration: inherit\n  +font-smooth\n\na .fa\n  display: inline-block\n  text-decoration: inherit\n\n\nli\n  .fa\n    display: inline-block\n  .fa-large:before,\n  .fa-large:before\n    /* 1.5 increased font size for fa-large * 1.25 width\n    width: 1.5 * 1.25em\n\nul.fas\n  list-style-type: none\n  margin-left: 2em\n  text-indent: -0.8em\n  li\n    .fa\n      width: .8em\n    .fa-large:before,\n    .fa-large:before\n      /* 1.5 increased font size for fa-large * 1.25 width\n      vertical-align: baseline\n      //      width: 1.5*1.25em\n\n.fa-book:before\n  content: \"\\f02d\"\n\n.icon-book:before\n  content: \"\\f02d\"\n\n.fa-caret-down:before\n  content: \"\\f0d7\"\n\n.icon-caret-down:before\n  content: \"\\f0d7\"\n\n.fa-caret-up:before\n  content: \"\\f0d8\"\n\n.icon-caret-up:before\n  content: \"\\f0d8\"\n\n.fa-caret-left:before\n  content: \"\\f0d9\"\n\n.icon-caret-left:before\n  content: \"\\f0d9\"\n\n.fa-caret-right:before\n  content: \"\\f0da\"\n\n.icon-caret-right:before\n  content: \"\\f0da\"\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_breadcrumbs.sass",
    "content": ".wy-breadcrumbs li\n  display: inline-block\n  &.wy-breadcrumbs-aside\n    float: right\n  a\n    display: inline-block\n    padding: 5px\n    &:first-child\n      padding-left: 0\n.wy-breadcrumbs-extra\n  margin-bottom: 0\n  color: $text-light\n  font-size: 80%\n  display: inline-block\n\n\n+media($mobile)\n  .wy-breadcrumbs-extra\n    display: none\n  .wy-breadcrumbs li.wy-breadcrumbs-aside\n    display: none\n\n@media print\n  .wy-breadcrumbs li.wy-breadcrumbs-aside\n    display: none\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_font_awesome_compatibility.sass",
    "content": ".icon\n  @extend .fa\n.icon-home\n  @extend .fa-home\n.icon-search\n  @extend .fa-search\n.icon-book\n  @extend .fa-book\n.icon-caret-down\n  @extend .fa-caret-down\n.icon-github\n  @extend .fa-github\n.icon-bitbucket\n  @extend .fa-bitbucket\n.icon-fire\n  @extend .fa-fire\n.icon-circle-arrow-right\n  @extend .fa-arrow-circle-right\n.icon-circle-arrow-left\n  @extend .fa-arrow-circle-left\n.icon-link\n  @extend .fa-link\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_layout.sass",
    "content": ".wy-affix\n  position: fixed\n  top: $gutter\n\n.wy-menu\n  a:hover\n    text-decoration: none\n\n.wy-menu-horiz\n  +clearfix\n  ul, li\n    display: inline-block\n  li:hover\n    background: rgba(255,255,255,.1)\n  li\n    &.divide-left\n      border-left: solid 1px hsl(0, 0%, 25%)\n    &.divide-right\n      border-right: solid 1px hsl(0, 0%, 25%)\n  a\n    height: $base-font-size * 2\n    display: inline-block\n    line-height: $base-font-size * 2\n    padding: 0 $base-font-size\n\n.wy-menu-vertical\n  header\n    height: $base-font-size * 2\n    display: inline-block\n    line-height: $base-font-size * 2\n    padding: 0 $gutter\n    display: block\n    font-weight: bold\n    text-transform: uppercase\n    font-size: 80%\n    color: $menu-logo-color\n    white-space: nowrap\n\n  ul\n    margin-bottom: 0\n  li\n    &.divide-top\n      border-top: solid 1px hsl(0, 0%, 25%)\n    &.divide-bottom\n      border-bottom: solid 1px hsl(0, 0%, 25%)\n    &.current\n      background: darken($section-background-color, 10%)\n      a\n        color: $text-medium\n        border-right: solid 1px darken($section-background-color, 20%)\n        padding: $gutter / 4 $gutter * 1.5\n        &:hover\n          background: darken($section-background-color, 15%)\n  // On state for the first level\n  li.on a, li.current > a\n    color: $text-color\n    padding: $gutter / 4 $gutter\n    font-weight: bold\n    position: relative\n    background: $section-background-color\n    border: none\n    border-bottom: solid 1px darken($section-background-color, 20%)\n    border-top: solid 1px darken($section-background-color, 20%)\n    padding-left: $gutter -4px\n    +font-smooth\n    &:hover\n      background: $section-background-color\n  // This is the on state for pages beyond second level\n  li.toctree-l2.current > a\n    background: darken($section-background-color, 20%)\n    padding: $gutter / 4 $gutter * 1.5\n  li.current ul\n    display: block\n  li ul\n    margin-bottom: 0\n    display: none\n  .local-toc\n    li ul\n      display: block\n  li ul li a\n    margin-bottom: 0\n    color: $text-light\n    font-weight: normal\n  a\n    display: inline-block\n    line-height: 18px\n    padding: $gutter / 4 $gutter\n    display: block\n    position: relative\n    font-size: 90%\n    color: $text-light\n    &:hover\n      background-color: lighten($menu-background-color, 10%)\n      cursor: pointer\n    &:active\n      background-color: $menu-logo-color\n      cursor: pointer\n      color: $white\n\n.wy-side-nav-search\n  z-index: $z-index-popover\n  background-color: $link-color\n  text-align: center\n  padding: $gutter / 2\n  display: block\n  color: $section-background-color\n  margin-bottom: $gutter / 2\n  input[type=text]\n    width: 100%\n    border-radius: 50px\n    padding: 6px 12px\n    border-color: darken($link-color, 5%)\n  img\n    display: block\n    margin: auto auto $gutter / 2 auto\n    height: 45px\n    width: 45px\n    background-color: $menu-logo-color\n    padding: 5px\n    border-radius: 100%\n  > a, .wy-dropdown > a\n    color: $section-background-color\n    font-size: 100%\n    font-weight: bold\n    display: inline-block\n    padding: $base-line-height / 6 $base-line-height / 4\n    margin-bottom: $gutter / 2\n    +font-smooth\n    &:hover\n      background: rgba(255,255,255,.1)\n\n.wy-nav .wy-menu-vertical\n  header\n    color: $link-color\n  a\n    color: $text-light\n    &:hover\n      background-color: $link-color\n      color: $white\n\n[data-menu-wrap]\n  +transition(all .2s ease-in)\n  position: absolute\n  opacity: 1\n  width: 100%\n  opacity: 0\n  &.move-center\n    left: 0\n    right: auto\n    opacity: 1\n  &.move-left\n    right: auto\n    left: -100%\n    opacity: 0\n  &.move-right\n    right: -100%\n    left: auto\n    opacity: 0\n\n\n.wy-body-for-nav\n  background: left repeat-y $section-background-color\n  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC)\n  background-size: $nav-desktop-width 1px\n\n.wy-grid-for-nav\n  position: absolute\n  width: 100%\n  height: 100%\n\n.wy-nav-side\n  position: absolute\n  top: 0\n  left: 0\n  width: $nav-desktop-width\n  overflow: hidden\n  min-height: 100%\n  background: $menu-background-color\n  z-index: $z-index-popover\n\n.wy-nav-top\n  display: none\n  background: $link-color\n  color: $white\n  padding: $gutter / 4 $gutter / 2\n  position: relative\n  line-height: 50px\n  text-align: center\n  font-size: 100%\n  +clearfix\n  a\n    color: $white\n    font-weight: bold\n    +font-smooth\n  img\n    margin-right: $base-line-height / 2\n    height: 45px\n    width: 45px\n    background-color: $menu-logo-color\n    padding: 5px\n    border-radius: 100%\n  i\n    font-size: 30px\n    float: left\n    cursor: pointer\n\n.wy-nav-content-wrap\n  margin-left: $nav-desktop-width\n  background: $section-background-color\n  min-height: 100%\n\n.wy-nav-content\n  padding: $gutter $gutter * 2\n  height: 100%\n  max-width: 800px\n  margin: auto\n\n.wy-body-mask\n  position: fixed\n  width: 100%\n  height: 100%\n  background: rgba(0,0,0,.2)\n  display: none\n  z-index: $z-index-modal - 1\n  &.on\n    display: block\nfooter\n  color: $gray-light\n  p\n    margin-bottom: $base-line-height / 2\n\n.rst-footer-buttons\n  +clearfix\n\n#search-results\n  .search li\n    margin-bottom: $base-line-height\n    border-bottom: solid 1px $table_border_color\n    padding-bottom: $base-line-height\n  .search li:first-child\n    border-top: solid 1px $table_border_color\n    padding-top: $base-line-height\n  .search li a\n    font-size: 120%\n    margin-bottom: $base-line-height / 2\n    display: inline-block\n  .context\n    color: $text-medium\n    font-size: 90%\n\n\n+media($tablet)\n  .wy-body-for-nav\n    background: $section-background-color\n  .wy-nav-top\n    display: block\n  .wy-nav-side\n    @if $nav-desktop-position == left\n      left: -$nav-desktop-width\n    @else\n      right: -$nav-desktop-width\n    &.shift\n      width: 85%\n      left: 0\n  .wy-nav-content-wrap\n    margin-left: 0\n    .wy-nav-content\n      padding: $gutter\n    &.shift\n      position: fixed\n      min-width: 100%\n      left: 85%\n      top: 0\n      height: 100%\n      overflow: hidden\n\n+media($desktop-wider)\n  .wy-nav-content-wrap\n    background: rgba(0,0,0,.05)\n  .wy-nav-content\n    margin: 0\n    background: $section-background-color\n\n@media print\n  .rst-versions, footer, .wy-nav-side\n    display: none\n  .wy-nav-content-wrap\n    margin-left: 0\n\nnav.stickynav\n  position: fixed\n  top: 0\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_mathjax.sass",
    "content": "span[id*='MathJax-Span']\n  color: $mathjax-color\n\n.math\n  text-align: center\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_rst.sass",
    "content": "// -------------------------------------------------------------------------------------------------------------------\n// CONTRIBUTORS, PLEASE READ THIS!\n// -------------------------------------------------------------------------------------------------------------------\n// Couple things...\n//    1. Lots of this @extends from wyrm_core/_type.sass (http://www.github.com/snide/wyrm/.\n//        * Try not to replace any @extends code. It's pretty generic stuff meant to work together.\n//        * That said, know that I'm very unlikely to accept PRs from wyrm just to change style here.\n//    2. I plan to remove the !importants in here. Part of it is due to lazyness, part to sphinx's fondness for nesting.\n//    3. Try to use variables from wyrm_core/wy_variables.sass. Notable are...\n//        * $base-line-height // All margins, padding and line-height should use this in .25 increments.\n//        * $text-color, $text-light, $text-dark...etc\n//        * $base-font-family, $custom-font-family, $code-font-family\n//    4. If you have changes for mobile/tablet, put them at the bottom of the sass file.\n// --------------------------------------------------------------------------------------------------------------------\n\n.rst-content\n  // Sphinx by default applies HxW style attributes to images. This fixes that oversite.\n  img\n    max-width: 100%\n    height: auto !important\n\n  div.figure\n    margin-bottom: $base-line-height\n\n  div.figure.align-center\n    text-align: center\n\n  // Usually it's a good idea to give images some space.\n  .section > img,   .section > a > img\n    margin-bottom: $base-line-height\n  // Questionable whether this is nice or not. It styles eternal links, but comes with some baggage.\n  // a.reference.external:after\n  //   font-family: FontAwesome\n  //   content: \" \\f08e \"\n  //   color: $text-light\n  //   vertical-align: super\n  //   font-size: 60%\n\n  // For the most part, its safe to assume that sphinx wants you to use a blockquote as an indent. It gets\n  // used in many different ways, so don't assume you can apply some fancy style, just leave it be.\n  blockquote\n    margin-left: $base-line-height\n    line-height: $base-line-height\n    margin-bottom: $base-line-height\n  .literal-block, pre.literal-block\n    @extend .codeblock\n  // These are the various note pullouts that sphinx applies\n  .note, .attention, .caution, .danger, .error, .hint, .important, .tip, .warning, .seealso, .admonition-todo\n    @extend .wy-alert\n    .last\n      margin-bottom: 0\n  .admonition-title\n    @extend .wy-alert-title\n    @extend .fa\n    @extend .fa-exclamation-circle\n    &:before\n      margin-right: 4px\n  .note, .seealso\n    @extend .wy-alert.wy-alert-info\n  .hint, .tip, .important\n    @extend .wy-alert.wy-alert-success\n  .error, .danger\n    @extend .wy-alert.wy-alert-danger\n  .warning, .caution, .attention, .admonition-todo\n    @extend .wy-alert.wy-alert-warning\n  // Some people put tables in notes. Let's give them very basic support.\n  .admonition table\n    border-color: rgba(0,0,0,.1)\n    td, th\n      background: transparent !important\n      border-color: rgba(0,0,0,.1) !important\n  .section ul, .toctree-wrapper ul\n    @extend .wy-plain-list-disc\n  .section ol.loweralpha, .section ol.loweralpha li\n    list-style: lower-alpha\n  .section ol.upperalpha, .section ol.upperalpha li\n    list-style: upper-alpha\n  .section ol, ol.arabic\n    @extend .wy-plain-list-decimal\n  .section ol p, .section ul p\n    margin-bottom: $base-line-height / 2\n  .line-block\n    margin-left: $base-line-height\n\n  // Generics handling of headings and toc stuff.\n  .topic-title\n    font-weight: bold\n    margin-bottom: $base-line-height / 2\n  .toc-backref\n    color: $text-color\n  .align-right\n    float: right\n    margin: 0px 0px $base-line-height $base-line-height\n  .align-left\n    float: left\n    margin: 0px $base-line-height $base-line-height 0px\n  .align-center\n    margin: auto\n    display: block\n\n  // This is the #href that shows up on hover. Sphinx's is terrible so I hack it away.\n  h1, h2, h3, h4, h5, h6, dl dt\n    .headerlink\n      display: none\n      visibility: hidden\n      font-size: 14px\n      @extend .fa\n      &:after\n        visibility: visible\n        content: \"\\f0c1\"\n        font-family: FontAwesome\n        display: inline-block\n    &:hover .headerlink\n      display: inline-block\n\n  // Sidebar content. You'll see at the bottom of this file I change it in mobile.\n  .sidebar\n    float: right\n    width: 40%\n    display: block\n    margin: 0 0 $base-line-height $base-line-height\n    padding: $base-line-height\n    background: $table-stripe-color\n    border: solid 1px $table-border-color\n    // Sidebar content is usually less relevant, so adjust the margins and sizes.\n    p, ul, dl\n      font-size: 90%\n    .last\n      margin-bottom: 0\n    .sidebar-title\n      display: block\n      font-family: $custom-font-family\n      font-weight: bold\n      background: $table-border-color\n      padding: $base-line-height / 4 $base-line-height / 2\n      margin: -$base-line-height\n      margin-bottom: $base-line-height\n      font-size: 100%\n  // Sphinx can highlight searched text with ?highlighted=searchterm\n  .highlighted\n    background: $yellow\n    display: inline-block\n    font-weight: bold\n    padding: 0 $base-line-height / 4\n\n  // These are the little citation links [1] that show up within paragraphs.\n  .footnote-reference, .citation-reference\n    vertical-align: super\n    font-size: 90%\n\n  // Tables! Sphinx LOVES TABLES. Most of wyrm assumes you're only going to use a table as a table\n  // so I have to write a bunch of unique stuff for Sphinx to style them up differently like it's 2003.\n  table.docutils.citation, table.docutils.footnote\n    background: none\n    border: none\n    color: $gray-light\n    td, tr\n      border: none\n      background-color: transparent !important\n      white-space: normal\n    td.label\n      padding-left: 0\n      padding-right: 0\n      vertical-align: top\n  table.docutils\n    @extend .wy-table\n    @extend .wy-table-bordered-all\n    &:not(.field-list)\n      @extend .wy-table-striped\n  // This table is what gets spit out for auto-generated API stuff. I style it smaller bits of padding.\n  table.field-list\n    @extend .wy-table\n    border: none\n    td\n      border: none\n      padding-top: 5px\n    td > strong\n      display: inline-block\n      margin-top: 3px\n    .field-name\n      padding-right: 10px\n      text-align: left\n      white-space: nowrap\n    .field-body\n      text-align: left\n      padding-left: 0\n\n  // These are the \"literals\" that get spit out when you mark stuff as ``code`` as your write.\n  tt\n    @extend code\n    color: $black\n    big, em\n      font-size: 100% !important\n      line-height: normal\n\n    .xref, a &\n      font-weight: bold\n  // If the literal is inside an a tag, let's color it like a link\n  a tt\n    color: $link-color\n  dl\n    margin-bottom: $base-line-height\n    dt\n      font-weight: bold\n    // Most of the content within these dls are one liners, so I halve the normal margins.\n    p, table, ul, ol\n      margin-bottom: $base-line-height / 2 !important\n    // rST seems to want dds to be treated as the browser would, indented.\n    dd\n      margin: 0  0 $base-line-height / 2 $base-line-height\n  // This is what Sphinx spits out for it's autodocs. Depending upon what language the person is referencing\n  // these things usually have a class of \"method\" or \"class\" or something similar, but really who knows.\n  // Sphinx doesn't give me a generic class on these, so unfortunately I have to apply it to the root dl.\n  // This makes me terribly unhappy and makes this code very nesty. Unfortunately I've seen hand-written docs\n  // that output similar, but not quite the same nesting so this is really the best we can do.\n  dl:not(.docutils)\n    margin-bottom: $base-line-height\n    // This would be the equivilant of a .. class::\n    dt\n      display: inline-block\n      margin: $base-line-height / 4 0\n      font-size: 90%\n      line-height: normal\n      background: lighten($blue, 50%)\n      color: $blue\n      border-top: solid 3px lighten($blue, 20%)\n      padding: $base-line-height / 4\n      position: relative\n      &:before\n        color: lighten($blue, 20%)\n      .headerlink\n        color: $text-color\n        font-size: 100% !important\n    // And this would be the .. method::\n    dl dt\n      margin-bottom: $base-line-height / 4\n      border: none\n      border-left: solid 3px hsl(0,0%,80%)\n      background: hsl(0,0%,94%)\n      color: $text-medium\n      .headerlink\n        color: $text-color\n        font-size: 100% !important\n    dt:first-child\n      margin-top: 0\n    // Since dts get the callout style, we treat this less as callouts.\n    tt\n      font-weight: bold\n      &.descname, &.descclassname\n        background-color: transparent\n        border: none\n        padding: 0\n        font-size: 100% !important\n      &.descname\n        font-weight: bold\n    // This is for more advanced parameter control\n    .optional\n      display: inline-block\n      padding: 0 4px\n      color: $black\n      font-weight: bold\n    .property\n      display: inline-block\n      padding-right: 8px\n  // Doc links to sourcecode\n  .viewcode-link, .viewcode-back\n    display: inline-block\n    color: $green\n    font-size: 80%\n    padding-left: $base-line-height\n  .viewcode-back\n    display: block\n    float: right\n  p.rubric\n    margin-bottom: 12px\n    font-weight: bold\n\n// Mobile specific\n+media($mobile)\n  .rst-content\n    .sidebar\n      width: 100%\n"
  },
  {
    "path": "documentation/website/original-theme/sass/_theme_variables.sass",
    "content": "// In here are varibles used for sphinx_rtd_theme, they either add to or overwrite the default ones\n// that are set in wyrm_core/wy_variables.sass. You'll find wyrm in bower_components if you're looking\n// for a reference.\n\n$font-awesome-dir:                    \"../font/\"\n$static-img:                          \"../img/\"\n$mathjax-color:                       $text-color\n\n$base-font-family:                    \"Lato\", \"proxima-nova\", \"Helvetica Neue\", Arial, sans-serif\n$custom-font-family:                  \"Roboto Slab\", \"ff-tisa-web-pro\", \"Georgia\", Arial, sans-serif\n$custom-font-family2:                 Georgia, serif\n$code-font-family:                    Consolas, \"Andale Mono WT\", \"Andale Mono\", \"Lucida Console\", \"Lucida Sans Typewriter\", \"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"Liberation Mono\", \"Nimbus Mono L\", Monaco, \"Courier New\", Courier, monospace\n"
  },
  {
    "path": "documentation/website/original-theme/sass/badge_only.sass",
    "content": "// ------------------------------------------------------------\n// CONTRIBUTORS, PLEASE READ THIS!\n// ------------------------------------------------------------\n// This generates the RTD sticky badge for non RTD themes. As\n// always, only files labeled \"theme_*.sass should be edited\".\n// ------------------------------------------------------------\n$border-box-sizing: false !default\n\n@import wyrm_core/wy_variables\n@import \"theme_variables\"\n@import bourbon\n@import neat\n@import wyrm_core/mixin\n@import wyrm_core/grid_settings\n@import \"theme_badge_fa\"\n@import \"theme_badge\"\n"
  },
  {
    "path": "documentation/website/original-theme/sass/theme.sass",
    "content": "// ------------------------------------------------------------\n// CONTRIBUTORS, PLEASE READ THIS!\n// ------------------------------------------------------------\n// This theme pulls from other frontend projects. The only\n// things you should edit are the sass files that start with\n// \"theme_*.sass\". All other files are loaded through bower.\n// ------------------------------------------------------------\n\n// Variable defaults set by Wyrm\n@import wyrm_core/wy_variables\n\n// Variable overrides that change coloring and fonts for this theme.\n@import \"theme_variables\"\n\n// bourbon.io framework\n@import bourbon\n\n// Bourbon.io/neat framework, with some default media queries\n@import wyrm_core/grid_settings\n@import neat\n// Some corrections for neat\n@import wyrm_core/neat_extra\n\n// Custom reset\n@import wyrm_core/reset\n\n// Wyrm mixins\n@import wyrm_core/mixin\n\n// Font Awesome 4.0 with wyrm extras\n@import font-awesome\n@import wyrm_core/font_icon_defaults\n\n// Wyrm core styles used in this theme\n@import wyrm_core/alert\n@import wyrm_core/button\n@import wyrm_core/dropdown\n@import wyrm_core/form\n@import wyrm_core/generic\n@import wyrm_core/table\n@import wyrm_core/type\n\n// Pygments styling\n@import wyrm_addons/pygments/pygments\n@import wyrm_addons/pygments/pygments_light\n\n// Theme specific styles. These are likely the files you want to edit.\n@import \"theme_breadcrumbs\"\n@import \"theme_layout\"\n@import \"theme_badge\"\n@import \"theme_rst\"\n@import \"theme_mathjax\"\n@import \"theme_font_awesome_compatibility\"\n"
  },
  {
    "path": "gulpfile.js",
    "content": "'use strict';\n\nvar gulp = require('gulp');\nvar plugins = require('gulp-load-plugins')();\nvar sass = require('gulp-sass');\nvar pkg = require('./package');\nvar pump = require('pump');\n\nvar scripts = {\n      name: 'jquery.contextMenu.js',\n      min: 'jquery.contextMenu.min.js',\n      all: [\n        'gulpfile.js',\n        'src/jquery.contextMenu.js',\n        'dist/jquery.contextMenu.js'\n      ],\n      main: 'dist/jquery.contextMenu.js',\n      src: [\n          'src/jquery.contextMenu.js'\n      ],\n      dest: 'dist',\n      libs: [\n      ]\n    };\nvar styles = {\n      name: 'jquery.contextMenu.css',\n      min: 'jquery.contextMenu.min.css',\n      all: [\n        'src/sass/**/*.scss'\n      ],\n      main: 'dist/jquery.contextMenu.css',\n      src: 'src/sass/jquery.contextMenu.scss',\n      dest: 'dist'\n    };\nvar icons = {\n    src: 'src/icons/*.svg',\n    templateFileFont: 'src/sass/icons/_variables.scss.tpl',\n    templateFileIconClasses: 'src/sass/icons/_icon_classes.scss.tpl',\n    fontOutputPath: 'dist/font',\n    scssOutputPath: 'src/sass/icons/'\n};\nvar replacement = {\n      regexp: /@\\w+/g,\n      filter: function (placeholder) {\n        switch (placeholder) {\n          case '@VERSION':\n            placeholder = pkg.version;\n            break;\n\n          case '@YEAR':\n            placeholder = (new Date()).getFullYear();\n            break;\n\n          case '@DATE':\n            placeholder = (new Date()).toISOString();\n            break;\n        }\n\n        return placeholder;\n      }\n    };\n\ngulp.task('jshint', function (cb) {\n  pump([\n      gulp.src(scripts.src),\n      plugins.jshint('src/.jshintrc'),\n      plugins.jshint.reporter('default')\n  ],cb);\n});\n\ngulp.task('jsdist', function (cb) {\n    pump([\n        gulp.src(scripts.src),\n        plugins.sourcemaps.init(),\n        plugins.replace(replacement.regexp, replacement.filter),\n        gulp.dest(scripts.dest),\n        plugins.rename(scripts.min),\n        plugins.uglify(),\n        plugins.sourcemaps.write('.'),\n        gulp.dest(scripts.dest)\n    ], cb);\n});\n\n\ngulp.task('jslibs', function (cb){\n    pump([\n        gulp.src(scripts.libs),\n        plugins.rename({prefix: 'jquery.ui.'}),\n        gulp.dest('src'),\n        gulp.dest('dist'),\n        plugins.rename({extname: '.min.js'}),\n        gulp.dest('dist'),\n        plugins.uglify(),\n        plugins.sourcemaps.write('.'),\n        gulp.dest(scripts.dest)\n    ], cb);\n});\n\ngulp.task('css', function (cb) {\n    return pump([\n        gulp.src(styles.src),\n        sass(),\n        plugins.csslint('src/.csslintrc'),\n        plugins.csslint.formatter(),\n        plugins.sourcemaps.init(),\n        plugins.replace(replacement.regexp, replacement.filter),\n        plugins.autoprefixer(),\n    plugins.csscomb('src/.csscomb.json'),\n    plugins.rename(styles.name),\n    gulp.dest(styles.dest),\n    plugins.rename(styles.min),\n    plugins.cleanCss(),\n    plugins.sourcemaps.write('.'),\n    gulp.dest(styles.dest)\n        ], cb);\n});\n\ngulp.task('build-icons', function (done) {\n    var iconfont = require('gulp-iconfont');\n    var consolidate = require('gulp-consolidate');\n\n    return gulp.src(icons.src)\n        .pipe(iconfont({\n            fontName: 'context-menu-icons',\n            fontHeight: 1024,\n            descent: 64,\n            normalize: true,\n            appendCodepoints: false,\n            startCodepoint: 0xE001,\n\t\t\tformats: ['ttf', 'eot', 'woff', 'woff2']\n        }))\n        .on('glyphs', function (glyphs) {\n            var options = {\n                glyphs: glyphs,\n                className: 'context-menu-icon',\n                mixinName: 'context-menu-item-icon'\n            };\n\n            gulp.src(icons.templateFileFont)\n                .pipe(consolidate('lodash',  options))\n                .pipe(plugins.rename({basename: '_variables', extname: '.scss'}))\n                .pipe(gulp.dest(icons.scssOutputPath));\n\n            gulp.src(icons.templateFileIconClasses)\n                .pipe(consolidate('lodash', options))\n                .pipe(plugins.rename('_icons.scss'))\n                .pipe(gulp.dest('src/sass')); // set path to export your sample HTML\n        })\n        .pipe(gulp.dest(icons.fontOutputPath));\n\n});\n\n/**\n * Update paths in integration tests that are generated by the documentation\n * generator so they use the local source.\n */\ngulp.task('integration-test-paths', function(){\n    return gulp.src('test/integration/html/*.html').\n        pipe(plugins.replace('https\\:\\/\\/swisnl\\.github\\.io\\/jQuery-contextMenu\\/dist\\/jquery\\.ui\\.position\\.min\\.js', '\\.\\.\\/\\.\\.\\/\\.\\.\\/dist\\/jquery\\.ui\\.position\\.min\\.js')).\n        pipe(plugins.replace('https\\:\\/\\/swisnl\\.github\\.io\\/jQuery\\-contextMenu\\/dist\\/', '\\.\\.\\/\\.\\.\\/\\.\\.\\/src\\/')).\n        pipe(plugins.replace('\\/src\\/jquery.contextMenu.css', '\\/dist\\/jquery.contextMenu.css')).\n        pipe(gulp.dest('test/integration/html/'));\n});\n\n\n\n\ngulp.task('js', gulp.series('jshint', 'jsdist', (done) => {\n    done();\n}));\n\n\ngulp.task('watch', gulp.parallel('js', 'css', function (done) {\n    gulp.watch(scripts.src,gulp.series('js'));\n    gulp.watch(styles.all, gulp.series('css'));\n    done();\n}));\ngulp.task('build', gulp.series('build-icons', 'css', 'js', 'integration-test-paths', (done) => {\n    done();\n}));\n\ngulp.task('default', gulp.series('watch', (done) => {\n    done();\n}));\n"
  },
  {
    "path": "karma-saucelabs.conf.js",
    "content": "\nmodule.exports = function (config) {\n    if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {\n        console.log('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.')\n        process.exit(1)\n    }\n\n    var testedCapabilities = {};\n    var browsers = [];\n\n    var capabilities = {\n        'Windows 7': {\n            'internet explorer': ['11', '10', '9'],\n        },\n        'Windows 10': {\n            'firefox': ['latest', 'latest-1'],\n            'chrome': ['latest', 'latest-1'],\n            'MicrosoftEdge': ['latest']\n        },\n        'macOS 10.12': {\n            'firefox': ['latest'],\n            'chrome': ['latest'],\n            'safari': ['latest']\n        }\n    };\n\n    var buildDate = new Date().toISOString();\n    for (var osVersion in capabilities) {\n        for (var browserKey in capabilities[osVersion]) {\n            for(var i=0; i< capabilities[osVersion][browserKey].length; i++){\n                var browserVersion = capabilities[osVersion][browserKey][i];\n                testedCapabilities[osVersion + ' ' + browserKey + ' ' + browserVersion] = {\n                    base: 'SauceLabs',\n                    platform: osVersion,\n                    browserName: browserKey,\n                    version: browserVersion,\n                    name: osVersion + ' ' + browserKey + ' ' + browserVersion,\n                    build: buildDate\n                };\n            }\n\n\n            if(browsers.indexOf(browserKey) == -1){\n                browsers.push(browsers);\n            }\n        }\n    }\n\n    config.set({\n        basePath: '',\n\n        // frameworks to use\n        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter\n        frameworks: ['qunit'],\n\n\n        // list of files / patterns to load in the browser\n        files: [\n\n            // dependencies\n            { pattern: 'node_modules/jquery/dist/jquery.js', watched: false, served: true, included: true },\n            { pattern: 'src/jquery.ui.position.js', watched: false, served: true, included: true },\n            { pattern: 'src/jquery.contextMenu.js', watched: false, served: true, included: true },\n\n            // test modules\n            'test/unit/*.js'\n        ],\n\n\n        reporters: ['dots', 'saucelabs'],\n        port: 9876,\n        colors: true,\n        sauceLabs: {\n            testName: 'jQuery contextMenu saucelabs',\n            recordScreenshots: false,\n            public: 'public'\n\n        },\n        // Increase timeout in case connection in CI is slow\n        captureTimeout: 600000,\n        customLaunchers: testedCapabilities,\n        browsers: Object.keys(testedCapabilities),\n        singleRun: true\n    })\n}\n"
  },
  {
    "path": "karma.conf.js",
    "content": "// Karma configuration\n// Generated on Wed Oct 29 2014 01:56:16 GMT+0100 (CET)\n\nmodule.exports = function(config) {\n  config.set({\n\n    // base path that will be used to resolve all patterns (eg. files, exclude)\n    basePath: '',\n\n\n    // frameworks to use\n    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter\n    frameworks: ['qunit'],\n\n\n    // list of files / patterns to load in the browser\n    files: [\n\n      // dependencies\n      { pattern: 'node_modules/jquery/dist/jquery.js', watched: false, served: true, included: true },\n      { pattern: 'src/jquery.ui.position.js', watched: false, served: true, included: true },\n      { pattern: 'src/jquery.contextMenu.js', watched: false, served: true, included: true },\n\n      // test modules\n      'test/unit/*.js'\n    ],\n\n\n    // list of files to exclude\n    exclude: [\n    ],\n\n\n    // preprocess matching files before serving them to the browser\n    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor\n    preprocessors: {\n    },\n\n\n    // test results reporter to use\n    // possible values: 'dots', 'progress'\n    // available reporters: https://npmjs.org/browse/keyword/karma-reporter\n    reporters: ['dots'],\n\n\n    // web server port\n    port: 9876,\n\n\n    // enable / disable colors in the output (reporters and logs)\n    colors: true,\n\n\n    // level of logging\n    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG\n    logLevel: config.LOG_INFO,\n\n\n    // enable / disable watching file and executing tests whenever any file changes\n    autoWatch: false,\n\n\n    // start these browsers\n    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher\n    browsers: ['PhantomJS'],\n\n    plugins : [\n      'karma-phantomjs-launcher',\n      'karma-qunit'\n    ],\n\n    // Continuous Integration mode\n    // if true, Karma captures browsers, runs the tests and exits\n    singleRun: true\n  });\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"jquery-contextmenu\",\n  \"title\": \"jQuery.contextMenu()\",\n  \"version\": \"2.10.1\",\n  \"author\": {\n    \"name\": \"Björn Brala\",\n    \"url\": \"http://www.swis.nl\"\n  },\n  \"license\": \"MIT\",\n  \"peerDependencies\": {\n    \"jquery\": \">=1.8.2\"\n  },\n  \"devDependencies\": {\n    \"doctoc\": \"^1.3.1\",\n    \"gulp\": \"^4.0.2\",\n    \"gulp-autoprefixer\": \"^7.0.1\",\n    \"gulp-clean-css\": \"^4.2.0\",\n    \"gulp-concat\": \"~2.6.0\",\n    \"gulp-consolidate\": \"^0.2.0\",\n    \"gulp-csscomb\": \"^3.0.8\",\n    \"gulp-csslint\": \"^1.0.1\",\n    \"gulp-debug\": \"^4.0.0\",\n    \"gulp-dest\": \"^0.2.3\",\n    \"gulp-htmlcomb\": \"^0.2.0\",\n    \"gulp-iconfont\": \"^10.0.1\",\n    \"gulp-jscs\": \"^4.1.0\",\n    \"gulp-jshint\": \"^2.1.0\",\n    \"gulp-load-plugins\": \"^2.0.1\",\n    \"gulp-qunit\": \"^2.0.0\",\n    \"gulp-rename\": \"^2.0.0\",\n    \"gulp-replace\": \"^1.0.0\",\n    \"gulp-sass\": \"^4.0.1\",\n    \"gulp-sourcemaps\": \"^2.6.4\",\n    \"gulp-uglify\": \"^3.0.0\",\n    \"jshint\": \"^2.9.4\",\n    \"karma\": \"^5.0.2\",\n    \"karma-chrome-launcher\": \"^3.1.0\",\n    \"karma-phantomjs-launcher\": \"^1.0.2\",\n    \"karma-qunit\": \"^4.0.0\",\n    \"karma-sauce-launcher\": \"4.1.3\",\n    \"lodash\": \"^4.17.5\",\n    \"pump\": \"^3.0.0\",\n    \"qunit\": \"^2.0.1\",\n    \"qunitjs\": \"^2.0.1\",\n    \"wdio-dot-reporter\": \"^0.0.10\",\n    \"wdio-mocha-framework\": \"^0.6.2\",\n    \"wdio-sauce-service\": \"^0.4.8\",\n    \"wdio-selenium-standalone-service\": \"^0.0.12\",\n    \"webdriverio\": \"^6.1.3\"\n  },\n  \"description\": \"Management facility for context menus. Developed for a large number of triggering objects. HTML5 Polyfill\",\n  \"keywords\": [\n    \"contextmenu\",\n    \"context menu\",\n    \"context-menu\",\n    \"menu\",\n    \"html5 menu\",\n    \"html5 contextmenu\",\n    \"html5 context menu\",\n    \"html5 context-menu\",\n    \"jquery-plugin\",\n    \"ecosystem:jquery\"\n  ],\n  \"homepage\": \"http://swisnl.github.io/jQuery-contextMenu/\",\n  \"contributors\": [\n    {\n      \"name\": \"Rodney Rehm\",\n      \"url\": \"http://rodneyrehm.de\"\n    },\n    {\n      \"name\": \"Addy Osmani\",\n      \"url\": \"https://github.com/addyosmani\"\n    },\n    {\n      \"name\": \"Christiaan Baartse\",\n      \"url\": \"https://github.com/christiaan\"\n    }\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git://github.com/swisnl/jQuery-contextMenu.git\"\n  },\n  \"main\": \"dist/jquery.contextMenu.js\",\n  \"files\": [\n    \"dist\",\n    \"src\"\n  ],\n  \"scripts\": {\n    \"test\": \"npm run test-unit\",\n    \"test-unit\": \"./node_modules/karma/bin/karma start\",\n    \"test-sauce\": \"./node_modules/karma/bin/karma start karma-saucelabs.conf.js\",\n    \"test-accept\": \"./node_modules/.bin/wdio wdio.conf.js\"\n  },\n  \"browserslist\": [\n    \"Android 2.3\",\n    \"Android >= 4\",\n    \"Chrome >= 20\",\n    \"Firefox >= 24\",\n    \"Explorer >= 8\",\n    \"iOS >= 6\",\n    \"Opera >= 12\",\n    \"Safari >= 6\"\n  ],\n  \"dependencies\": {\n    \"jquery\": \"^3.5.0\"\n  }\n}\n"
  },
  {
    "path": "src/.csscomb.json",
    "content": "{\n  \"always-semicolon\": true,\n  \"block-indent\": 2,\n  \"color-case\": \"lower\",\n  \"color-shorthand\": true,\n  \"element-case\": \"lower\",\n  \"eof-newline\": true,\n  \"leading-zero\": false,\n  \"remove-empty-rulesets\": true,\n  \"space-after-colon\": 1,\n  \"space-after-combinator\": 1,\n  \"space-before-selector-delimiter\": 0,\n  \"space-between-declarations\": \"\\n\",\n  \"space-after-opening-brace\": \"\\n\",\n  \"space-before-closing-brace\": \"\\n\",\n  \"space-before-colon\": 0,\n  \"space-before-combinator\": 1,\n  \"space-before-opening-brace\": 1,\n  \"strip-spaces\": true,\n  \"unitless-zero\": true,\n  \"vendor-prefix-align\": true,\n  \"sort-order\": [\n    [\n      \"position\",\n      \"top\",\n      \"right\",\n      \"bottom\",\n      \"left\",\n      \"z-index\",\n      \"display\",\n      \"float\",\n      \"width\",\n      \"min-width\",\n      \"max-width\",\n      \"height\",\n      \"min-height\",\n      \"max-height\",\n      \"-webkit-box-sizing\",\n      \"-moz-box-sizing\",\n      \"box-sizing\",\n      \"-webkit-appearance\",\n      \"padding\",\n      \"padding-top\",\n      \"padding-right\",\n      \"padding-bottom\",\n      \"padding-left\",\n      \"margin\",\n      \"margin-top\",\n      \"margin-right\",\n      \"margin-bottom\",\n      \"margin-left\",\n      \"overflow\",\n      \"overflow-x\",\n      \"overflow-y\",\n      \"-webkit-overflow-scrolling\",\n      \"-ms-overflow-x\",\n      \"-ms-overflow-y\",\n      \"-ms-overflow-style\",\n      \"clip\",\n      \"clear\",\n      \"font\",\n      \"font-family\",\n      \"font-size\",\n      \"font-style\",\n      \"font-weight\",\n      \"font-variant\",\n      \"font-size-adjust\",\n      \"font-stretch\",\n      \"font-effect\",\n      \"font-emphasize\",\n      \"font-emphasize-position\",\n      \"font-emphasize-style\",\n      \"font-smooth\",\n      \"-webkit-hyphens\",\n      \"-moz-hyphens\",\n      \"hyphens\",\n      \"line-height\",\n      \"color\",\n      \"text-align\",\n      \"-webkit-text-align-last\",\n      \"-moz-text-align-last\",\n      \"-ms-text-align-last\",\n      \"text-align-last\",\n      \"text-emphasis\",\n      \"text-emphasis-color\",\n      \"text-emphasis-style\",\n      \"text-emphasis-position\",\n      \"text-decoration\",\n      \"text-indent\",\n      \"text-justify\",\n      \"text-outline\",\n      \"-ms-text-overflow\",\n      \"text-overflow\",\n      \"text-overflow-ellipsis\",\n      \"text-overflow-mode\",\n      \"text-shadow\",\n      \"text-transform\",\n      \"text-wrap\",\n      \"-webkit-text-size-adjust\",\n      \"-ms-text-size-adjust\",\n      \"letter-spacing\",\n      \"-ms-word-break\",\n      \"word-break\",\n      \"word-spacing\",\n      \"-ms-word-wrap\",\n      \"word-wrap\",\n      \"-moz-tab-size\",\n      \"-o-tab-size\",\n      \"tab-size\",\n      \"white-space\",\n      \"vertical-align\",\n      \"list-style\",\n      \"list-style-position\",\n      \"list-style-type\",\n      \"list-style-image\",\n      \"pointer-events\",\n      \"-ms-touch-action\",\n      \"touch-action\",\n      \"cursor\",\n      \"visibility\",\n      \"zoom\",\n      \"flex-direction\",\n      \"flex-order\",\n      \"flex-pack\",\n      \"flex-align\",\n      \"table-layout\",\n      \"empty-cells\",\n      \"caption-side\",\n      \"border-spacing\",\n      \"border-collapse\",\n      \"content\",\n      \"quotes\",\n      \"counter-reset\",\n      \"counter-increment\",\n      \"resize\",\n      \"-webkit-user-select\",\n      \"-moz-user-select\",\n      \"-ms-user-select\",\n      \"-o-user-select\",\n      \"user-select\",\n      \"nav-index\",\n      \"nav-up\",\n      \"nav-right\",\n      \"nav-down\",\n      \"nav-left\",\n      \"background\",\n      \"background-color\",\n      \"background-image\",\n      \"-ms-filter:\\\\'progid:DXImageTransform.Microsoft.gradient\",\n      \"filter:progid:DXImageTransform.Microsoft.gradient\",\n      \"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader\",\n      \"filter\",\n      \"background-repeat\",\n      \"background-attachment\",\n      \"background-position\",\n      \"background-position-x\",\n      \"background-position-y\",\n      \"-webkit-background-clip\",\n      \"-moz-background-clip\",\n      \"background-clip\",\n      \"background-origin\",\n      \"-webkit-background-size\",\n      \"-moz-background-size\",\n      \"-o-background-size\",\n      \"background-size\",\n      \"border\",\n      \"border-color\",\n      \"border-style\",\n      \"border-width\",\n      \"border-top\",\n      \"border-top-color\",\n      \"border-top-style\",\n      \"border-top-width\",\n      \"border-right\",\n      \"border-right-color\",\n      \"border-right-style\",\n      \"border-right-width\",\n      \"border-bottom\",\n      \"border-bottom-color\",\n      \"border-bottom-style\",\n      \"border-bottom-width\",\n      \"border-left\",\n      \"border-left-color\",\n      \"border-left-style\",\n      \"border-left-width\",\n      \"border-radius\",\n      \"border-top-left-radius\",\n      \"border-top-right-radius\",\n      \"border-bottom-right-radius\",\n      \"border-bottom-left-radius\",\n      \"-webkit-border-image\",\n      \"-moz-border-image\",\n      \"-o-border-image\",\n      \"border-image\",\n      \"-webkit-border-image-source\",\n      \"-moz-border-image-source\",\n      \"-o-border-image-source\",\n      \"border-image-source\",\n      \"-webkit-border-image-slice\",\n      \"-moz-border-image-slice\",\n      \"-o-border-image-slice\",\n      \"border-image-slice\",\n      \"-webkit-border-image-width\",\n      \"-moz-border-image-width\",\n      \"-o-border-image-width\",\n      \"border-image-width\",\n      \"-webkit-border-image-outset\",\n      \"-moz-border-image-outset\",\n      \"-o-border-image-outset\",\n      \"border-image-outset\",\n      \"-webkit-border-image-repeat\",\n      \"-moz-border-image-repeat\",\n      \"-o-border-image-repeat\",\n      \"border-image-repeat\",\n      \"outline\",\n      \"outline-width\",\n      \"outline-style\",\n      \"outline-color\",\n      \"outline-offset\",\n      \"-webkit-box-shadow\",\n      \"-moz-box-shadow\",\n      \"box-shadow\",\n      \"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity\",\n      \"-ms-filter:\\\\'progid:DXImageTransform.Microsoft.Alpha\",\n      \"opacity\",\n      \"-ms-interpolation-mode\",\n      \"-webkit-transition\",\n      \"-moz-transition\",\n      \"-ms-transition\",\n      \"-o-transition\",\n      \"transition\",\n      \"-webkit-transition-delay\",\n      \"-moz-transition-delay\",\n      \"-ms-transition-delay\",\n      \"-o-transition-delay\",\n      \"transition-delay\",\n      \"-webkit-transition-timing-function\",\n      \"-moz-transition-timing-function\",\n      \"-ms-transition-timing-function\",\n      \"-o-transition-timing-function\",\n      \"transition-timing-function\",\n      \"-webkit-transition-duration\",\n      \"-moz-transition-duration\",\n      \"-ms-transition-duration\",\n      \"-o-transition-duration\",\n      \"transition-duration\",\n      \"-webkit-transition-property\",\n      \"-moz-transition-property\",\n      \"-ms-transition-property\",\n      \"-o-transition-property\",\n      \"transition-property\",\n      \"-webkit-transform\",\n      \"-moz-transform\",\n      \"-ms-transform\",\n      \"-o-transform\",\n      \"transform\",\n      \"-webkit-transform-origin\",\n      \"-moz-transform-origin\",\n      \"-ms-transform-origin\",\n      \"-o-transform-origin\",\n      \"transform-origin\",\n      \"-webkit-animation\",\n      \"-moz-animation\",\n      \"-ms-animation\",\n      \"-o-animation\",\n      \"animation\",\n      \"-webkit-animation-name\",\n      \"-moz-animation-name\",\n      \"-ms-animation-name\",\n      \"-o-animation-name\",\n      \"animation-name\",\n      \"-webkit-animation-duration\",\n      \"-moz-animation-duration\",\n      \"-ms-animation-duration\",\n      \"-o-animation-duration\",\n      \"animation-duration\",\n      \"-webkit-animation-play-state\",\n      \"-moz-animation-play-state\",\n      \"-ms-animation-play-state\",\n      \"-o-animation-play-state\",\n      \"animation-play-state\",\n      \"-webkit-animation-timing-function\",\n      \"-moz-animation-timing-function\",\n      \"-ms-animation-timing-function\",\n      \"-o-animation-timing-function\",\n      \"animation-timing-function\",\n      \"-webkit-animation-delay\",\n      \"-moz-animation-delay\",\n      \"-ms-animation-delay\",\n      \"-o-animation-delay\",\n      \"animation-delay\",\n      \"-webkit-animation-iteration-count\",\n      \"-moz-animation-iteration-count\",\n      \"-ms-animation-iteration-count\",\n      \"-o-animation-iteration-count\",\n      \"animation-iteration-count\",\n      \"-webkit-animation-direction\",\n      \"-moz-animation-direction\",\n      \"-ms-animation-direction\",\n      \"-o-animation-direction\",\n      \"animation-direction\"\n    ]\n  ]\n}\n"
  },
  {
    "path": "src/.csslintrc",
    "content": "{\n  \"adjoining-classes\": false,\n  \"box-sizing\": false,\n  \"box-model\": false,\n  \"compatible-vendor-prefixes\": false,\n  \"floats\": false,\n  \"font-sizes\": false,\n  \"gradients\": false,\n  \"important\": false,\n  \"known-properties\": false,\n  \"outline-none\": false,\n  \"qualified-headings\": false,\n  \"regex-selectors\": false,\n  \"shorthand\": false,\n  \"text-indent\": false,\n  \"zero-units\": false,\n  \"unique-headings\": false,\n  \"universal-selector\": false,\n  \"unqualified-attributes\": false\n}\n"
  },
  {
    "path": "src/.jshintrc",
    "content": "{\n  \"bitwise\": true,\n  \"curly\": true,\n  \"eqeqeq\": true,\n  \"forin\": true,\n  \"freeze\": true,\n  \"funcscope\": true,\n  \"iterator\": true,\n  \"latedef\": true,\n  \"noarg\": true,\n  \"nocomma\": false,\n  \"noempty\": true,\n  \"nonbsp\": true,\n  \"nonew\": true,\n  \"undef\": true,\n  \"unused\": true,\n  \"strict\": false,\n  \"node\": true,\n  \"browser\": true,\n  \"jquery\": true,\n  \"qunit\": true,\n  \"globals\": {\n    \"define\": true\n  }\n}\n"
  },
  {
    "path": "src/jquery.contextMenu.js",
    "content": "/**\n * jQuery contextMenu v@VERSION - Plugin for simple contextMenu handling\n *\n * Version: v@VERSION\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-@YEAR SWIS BV and contributors\n *\n * Licensed under\n *   MIT License http://www.opensource.org/licenses/mit-license\n *\n * Date: @DATE\n */\n\n// jscs:disable\n/* jshint ignore:start */\n(function (factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as anonymous module.\n        define(['jquery'], factory);\n    } else if (typeof exports === 'object') {\n        // Node / CommonJS\n        factory(require('jquery'));\n    } else {\n        // Browser globals.\n        factory(jQuery);\n    }\n})(function ($) {\n\n    'use strict';\n\n    // helper function to check for rapid interactions after menu display\n    var isInteractionTooFast = function($element) {\n        if (!('ontouchstart' in window\n            || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)) {\n            return false;\n        }\n        var interactionTime = Date.now();\n        var $liItem = $element.is('input, textarea, select') ? $element.closest('.context-menu-item') : $element;\n        if (!$liItem || !$liItem.length) {\n            return false;\n        }\n        var $parentMenu = $liItem.parent();\n        if (!$parentMenu || !$parentMenu.length) {\n            return false;\n        }\n\n        // only apply the check for items within submenus\n        if ($parentMenu.hasClass('context-menu-root')) {\n            return false;\n        }\n\n        var showTimestamp = $parentMenu.data('_showTimestamp');\n        var timeDifference = showTimestamp ? interactionTime - showTimestamp : Infinity;\n\n        // threshold for fast interaction (e.g., mobile tap)\n        var threshold = 50; // ms\n\n        return timeDifference < threshold;\n    };\n\n    // TODO: -\n    // ARIA stuff: menuitem, menuitemcheckbox und menuitemradio\n    // create <menu> structure if $.support[htmlCommand || htmlMenuitem] and !opt.disableNative\n\n    // determine html5 compatibility\n    $.support.htmlMenuitem = ('HTMLMenuItemElement' in window);\n    $.support.htmlCommand = ('HTMLCommandElement' in window);\n    $.support.eventSelectstart = ('onselectstart' in document.documentElement);\n    /* // should the need arise, test for css user-select\n     $.support.cssUserSelect = (function(){\n     var t = false,\n     e = document.createElement('div');\n\n     $.each('Moz|Webkit|Khtml|O|ms|Icab|'.split('|'), function(i, prefix) {\n     var propCC = prefix + (prefix ? 'U' : 'u') + 'serSelect',\n     prop = (prefix ? ('-' + prefix.toLowerCase() + '-') : '') + 'user-select';\n\n     e.style.cssText = prop + ': text;';\n     if (e.style[propCC] == 'text') {\n     t = true;\n     return false;\n     }\n\n     return true;\n     });\n\n     return t;\n     })();\n     */\n\n\n    if (!$.ui || !$.widget) {\n        // duck punch $.cleanData like jQueryUI does to get that remove event\n        $.cleanData = (function (orig) {\n            return function (elems) {\n                var events, elem, i;\n                for (i = 0; elems[i] != null; i++) {\n                    elem = elems[i];\n                    try {\n                        // Only trigger remove when necessary to save time\n                        events = $._data(elem, 'events');\n                        if (events && events.remove) {\n                            $(elem).triggerHandler('remove');\n                        }\n\n                        // Http://bugs.jquery.com/ticket/8235\n                    } catch (e) {\n                    }\n                }\n                orig(elems);\n            };\n        })($.cleanData);\n    }\n    /* jshint ignore:end */\n    // jscs:enable\n\n    var // currently active contextMenu trigger\n        $currentTrigger = null,\n        // is contextMenu initialized with at least one menu?\n        initialized = false,\n        // window handle\n        $win = $(window),\n        // number of registered menus\n        counter = 0,\n        // mapping selector to namespace\n        namespaces = {},\n        // mapping namespace to options\n        menus = {},\n        // custom command type handlers\n        types = {},\n        // default values\n        defaults = {\n            // selector of contextMenu trigger\n            selector: null,\n            // where to append the menu to\n            appendTo: null,\n            // method to trigger context menu [\"right\", \"left\", \"hover\"]\n            trigger: 'right',\n            // hide menu when mouse leaves trigger / menu elements\n            autoHide: false,\n            // ms to wait before showing a hover-triggered context menu\n            delay: 200,\n            // flag denoting if a second trigger should simply move (true) or rebuild (false) an open menu\n            // as long as the trigger happened on one of the trigger-element's child nodes\n            reposition: true,\n            // Flag denoting if a second trigger should close the menu, as long as\n            // the trigger happened on one of the trigger-element's child nodes.\n            // This overrides the reposition option.\n            hideOnSecondTrigger: false,\n\n            // use a modal layer for closing the menu rather than a captured event on document\n            useModal: true,\n\n            //ability to select submenu\n            selectableSubMenu: false,\n\n            // Default classname configuration to be able avoid conflicts in frameworks\n            classNames: {\n                hover: 'context-menu-hover', // Item hover\n                disabled: 'context-menu-disabled', // Item disabled\n                visible: 'context-menu-visible', // Item visible\n                notSelectable: 'context-menu-not-selectable', // Item not selectable\n\n                icon: 'context-menu-icon',\n                iconEdit: 'context-menu-icon-edit',\n                iconCut: 'context-menu-icon-cut',\n                iconCopy: 'context-menu-icon-copy',\n                iconPaste: 'context-menu-icon-paste',\n                iconDelete: 'context-menu-icon-delete',\n                iconAdd: 'context-menu-icon-add',\n                iconQuit: 'context-menu-icon-quit',\n                iconLoadingClass: 'context-menu-icon-loading'\n            },\n\n            // determine position to show menu at\n            determinePosition: function ($menu) {\n                // position to the lower middle of the trigger element\n                if ($.ui && $.ui.position) {\n                    // .position() is provided as a jQuery UI utility\n                    // (...and it won't work on hidden elements)\n                    $menu.css('display', 'block').position({\n                        my: 'center top',\n                        at: 'center bottom',\n                        of: this,\n                        offset: '0 5',\n                        collision: 'fit'\n                    }).css('display', 'none');\n                } else {\n                    // determine contextMenu position\n                    var offset = this.offset();\n                    offset.top += this.outerHeight();\n                    offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;\n                    $menu.css(offset);\n                }\n            },\n            // position menu\n            position: function (opt, x, y) {\n                var offset;\n                // determine contextMenu position\n                if (!x && !y) {\n                    opt.determinePosition.call(this, opt.$menu);\n                    return;\n                } else if (x === 'maintain' && y === 'maintain') {\n                    // x and y must not be changed (after re-show on command click)\n                    offset = opt.$menu.position();\n                } else {\n                    // x and y are given (by mouse event)\n                    var offsetParentOffset = opt.$menu.offsetParent().offset();\n                    offset = {top: y - offsetParentOffset.top, left: x -offsetParentOffset.left};\n                }\n\n                // correct offset if viewport demands it\n                var bottom = $win.scrollTop() + $win.height(),\n                    right = $win.scrollLeft() + $win.width(),\n                    height = opt.$menu.outerHeight(),\n                    width = opt.$menu.outerWidth();\n\n                if (offset.top + height > bottom) {\n                    offset.top -= height;\n                }\n\n                if (offset.top < 0) {\n                    offset.top = 0;\n                }\n\n                if (offset.left + width > right) {\n                    offset.left -= width;\n                }\n\n                if (offset.left < 0) {\n                    offset.left = 0;\n                }\n\n                opt.$menu.css(offset);\n            },\n            // position the sub-menu\n            positionSubmenu: function ($menu) {\n                if (typeof $menu === 'undefined') {\n                    // When user hovers over item (which has sub items) handle.focusItem will call this.\n                    // but the submenu does not exist yet if opt.items is a promise. just return, will\n                    // call positionSubmenu after promise is completed.\n                    return;\n                }\n                if ($.ui && $.ui.position) {\n                    // .position() is provided as a jQuery UI utility\n                    // (...and it won't work on hidden elements)\n                    $menu.css('display', 'block').position({\n                        my: 'left top-5',\n                        at: 'right top',\n                        of: this,\n                        collision: 'flipfit fit'\n                    }).css('display', '');\n                } else {\n                    // determine contextMenu position\n                    var offset = {\n                        top: -9,\n                        left: this.outerWidth() - 5\n                    };\n                    $menu.css(offset);\n                }\n            },\n            // offset to add to zIndex\n            zIndex: 1,\n            // show hide animation settings\n            animation: {\n                duration: 50,\n                show: 'slideDown',\n                hide: 'slideUp'\n            },\n            // events\n            events: {\n                preShow: $.noop,\n                show: $.noop,\n                hide: $.noop,\n                activated: $.noop\n            },\n            // default callback\n            callback: null,\n            // list of contextMenu items\n            items: {}\n        },\n        // mouse position for hover activation\n        hoveract = {\n            timer: null,\n            pageX: null,\n            pageY: null\n        },\n        // determine zIndex\n        zindex = function ($t) {\n            var zin = 0,\n                $tt = $t;\n\n            while (true) {\n                zin = Math.max(zin, parseInt($tt.css('z-index'), 10) || 0);\n                $tt = $tt.parent();\n                if (!$tt || !$tt.length || 'html body'.indexOf($tt.prop('nodeName').toLowerCase()) > -1) {\n                    break;\n                }\n            }\n            return zin;\n        },\n        // event handlers\n        handle = {\n            // abort anything\n            abortevent: function (e) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n            },\n            // contextmenu show dispatcher\n            contextmenu: function (e) {\n                var $this = $(this);\n\n                //Show browser context-menu when preShow returns false\n                if (e.data.events.preShow($this,e) === false) {\n                    return;\n                }\n\n                // disable actual context-menu if we are using the right mouse button as the trigger\n                if (e.data.trigger === 'right') {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                }\n\n                // abort native-triggered events unless we're triggering on right click\n                if ((e.data.trigger !== 'right' && e.data.trigger !== 'demand') && e.originalEvent) {\n                    return;\n                }\n\n                // Let the current contextmenu decide if it should show or not based on its own trigger settings\n                if (typeof e.mouseButton !== 'undefined' && e.data) {\n                    if (!(e.data.trigger === 'left' && e.mouseButton === 0) && !(e.data.trigger === 'right' && e.mouseButton === 2)) {\n                        // Mouse click is not valid.\n                        return;\n                    }\n                }\n\n                // abort event if menu is visible for this trigger\n                if ($this.hasClass('context-menu-active')) {\n                    return;\n                }\n\n                if (!$this.hasClass('context-menu-disabled')) {\n                    // theoretically need to fire a show event at <menu>\n                    // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus\n                    // var evt = jQuery.Event(\"show\", { data: data, pageX: e.pageX, pageY: e.pageY, relatedTarget: this });\n                    // e.data.$menu.trigger(evt);\n\n                    $currentTrigger = $this;\n                    if (e.data.build) {\n                        var built = e.data.build($currentTrigger, e);\n                        // abort if build() returned false\n                        if (built === false) {\n                            return;\n                        }\n\n                        // dynamically build menu on invocation\n                        e.data = $.extend(true, {}, defaults, e.data, built || {});\n\n                        // abort if there are no items to display\n                        if (!e.data.items || $.isEmptyObject(e.data.items)) {\n                            // Note: jQuery captures and ignores errors from event handlers\n                            if (window.console) {\n                                (console.error || console.log).call(console, 'No items specified to show in contextMenu');\n                            }\n\n                            throw new Error('No Items specified');\n                        }\n\n                        // backreference for custom command type creation\n                        e.data.$trigger = $currentTrigger;\n\n                        op.create(e.data);\n                    }\n                    op.show.call($this, e.data, e.pageX, e.pageY);\n                }\n            },\n            // contextMenu left-click trigger\n            click: function (e) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n                $(this).trigger($.Event('contextmenu', {data: e.data, pageX: e.pageX, pageY: e.pageY}));\n            },\n            // contextMenu right-click trigger\n            mousedown: function (e) {\n                // register mouse down\n                var $this = $(this);\n\n                // hide any previous menus\n                if ($currentTrigger && $currentTrigger.length && !$currentTrigger.is($this)) {\n                    $currentTrigger.data('contextMenu').$menu.trigger('contextmenu:hide');\n                }\n\n                // activate on right click\n                if (e.button === 2) {\n                    $currentTrigger = $this.data('contextMenuActive', true);\n                }\n            },\n            // contextMenu right-click trigger\n            mouseup: function (e) {\n                // show menu\n                var $this = $(this);\n                if ($this.data('contextMenuActive') && $currentTrigger && $currentTrigger.length && $currentTrigger.is($this) && !$this.hasClass('context-menu-disabled')) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    $currentTrigger = $this;\n                    $this.trigger($.Event('contextmenu', {data: e.data, pageX: e.pageX, pageY: e.pageY}));\n                }\n\n                $this.removeData('contextMenuActive');\n            },\n            // contextMenu hover trigger\n            mouseenter: function (e) {\n                var $this = $(this),\n                    $related = $(e.relatedTarget),\n                    $document = $(document);\n\n                // abort if we're coming from a menu\n                if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n                    return;\n                }\n\n                // abort if a menu is shown\n                if ($currentTrigger && $currentTrigger.length) {\n                    return;\n                }\n\n                hoveract.pageX = e.pageX;\n                hoveract.pageY = e.pageY;\n                hoveract.data = e.data;\n                $document.on('mousemove.contextMenuShow', handle.mousemove);\n                hoveract.timer = setTimeout(function () {\n                    hoveract.timer = null;\n                    $document.off('mousemove.contextMenuShow');\n                    $currentTrigger = $this;\n                    $this.trigger($.Event('contextmenu', {\n                        data: hoveract.data,\n                        pageX: hoveract.pageX,\n                        pageY: hoveract.pageY\n                    }));\n                }, e.data.delay);\n            },\n            // contextMenu hover trigger\n            mousemove: function (e) {\n                hoveract.pageX = e.pageX;\n                hoveract.pageY = e.pageY;\n            },\n            // contextMenu hover trigger\n            mouseleave: function (e) {\n                // abort if we're leaving for a menu\n                var $related = $(e.relatedTarget);\n                if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {\n                    return;\n                }\n\n                try {\n                    clearTimeout(hoveract.timer);\n                } catch (e) {\n                }\n\n                hoveract.timer = null;\n            },\n            // click on layer to hide contextMenu\n            layerClick: function (e, opt, onhide) {\n                var $this = $(this),\n                    root = (opt !== undefined) ? opt : $this.data('contextMenuRoot'),\n                    button = e.button,\n                    x = e.pageX,\n                    y = e.pageY,\n                    fakeClick = x === undefined,\n                    target,\n                    offset;\n\n                // If the click is not real, things break: https://github.com/swisnl/jQuery-contextMenu/issues/132\n                if(fakeClick){\n                    if (root !== null && typeof root !== 'undefined' && root.$menu !== null  && typeof root.$menu !== 'undefined') {\n                        root.$menu.trigger('contextmenu:hide');\n                    }\n                    return;\n                }\n\n                // if the click closing is done through windwow event listener rather than a transparent layer\n                if (!root.$layer) {\n                    target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());\n                    if (root.$menu === null || typeof root.$menu === 'undefined' || !root.$menu[0].contains(target)) {\n\n                        root.$menu.trigger('contextmenu:hide');\n                        if (typeof onhide !== 'undefined')\n                            onhide();\n                    }\n                    return;\n                }\n                e.preventDefault();\n\n                setTimeout(function () {\n\n                    var $window;\n                    var triggerAction = ((root.trigger === 'left' && button === 0) || (root.trigger === 'right' && button === 2));\n\n                    // find the element that would've been clicked, wasn't the layer in the way\n                    if (document.elementFromPoint && root.$layer) {\n                        root.$layer.hide();\n                        target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());\n\n                        // also need to try and focus this element if we're in a contenteditable area,\n                        // as the layer will prevent the browser mouse action we want\n                        if (target !== null && target.isContentEditable) {\n                            var range = document.createRange(),\n                                sel = window.getSelection();\n                            range.selectNode(target);\n                            range.collapse(true);\n                            sel.removeAllRanges();\n                            sel.addRange(range);\n                        }\n                        $(target).trigger(e);\n                        root.$layer.show();\n                    }\n\n                    if (root.hideOnSecondTrigger && triggerAction && root.$menu !== null && typeof root.$menu !== 'undefined') {\n                      root.$menu.trigger('contextmenu:hide');\n                      return;\n                    }\n\n                    if (root.reposition && triggerAction) {\n                        if (document.elementFromPoint) {\n                            if (root.$trigger.is(target)) {\n                                root.position.call(root.$trigger, root, x, y);\n                                return;\n                            }\n                        } else {\n                            offset = root.$trigger.offset();\n                            $window = $(window);\n                            // while this looks kinda awful, it's the best way to avoid\n                            // unnecessarily calculating any positions\n                            offset.top += $window.scrollTop();\n                            if (offset.top <= e.pageY) {\n                                offset.left += $window.scrollLeft();\n                                if (offset.left <= e.pageX) {\n                                    offset.bottom = offset.top + root.$trigger.outerHeight();\n                                    if (offset.bottom >= e.pageY) {\n                                        offset.right = offset.left + root.$trigger.outerWidth();\n                                        if (offset.right >= e.pageX) {\n                                            // reposition\n                                            root.position.call(root.$trigger, root, x, y);\n                                            return;\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n\n                    if (target && triggerAction) {\n                        root.$trigger.one('contextmenu:hidden', function () {\n                            $(target).contextMenu({x: x, y: y, button: button});\n                        });\n                    }\n\n                    if (root !== null && typeof root !== 'undefined' && root.$menu !== null  && typeof root.$menu !== 'undefined') {\n                        root.$menu.trigger('contextmenu:hide');\n                    }\n                }, 50);\n            },\n            // key handled :hover\n            keyStop: function (e, opt) {\n                if (!opt.isInput) {\n                    e.preventDefault();\n                }\n\n                e.stopPropagation();\n            },\n            key: function (e) {\n\n                var opt = {};\n\n                // Only get the data from $currentTrigger if it exists\n                if ($currentTrigger) {\n                    opt = $currentTrigger.data('contextMenu') || {};\n                }\n                // If the trigger happen on a element that are above the contextmenu do this\n                if (typeof opt.zIndex === 'undefined') {\n                    opt.zIndex = 0;\n                }\n                var targetZIndex = 0;\n                var getZIndexOfTriggerTarget = function (target) {\n                    if (target.style.zIndex !== '') {\n                        targetZIndex = target.style.zIndex;\n                    } else {\n                        if (target.offsetParent !== null && typeof target.offsetParent !== 'undefined') {\n                            getZIndexOfTriggerTarget(target.offsetParent);\n                        }\n                        else if (target.parentElement !== null && typeof target.parentElement !== 'undefined') {\n                            getZIndexOfTriggerTarget(target.parentElement);\n                        }\n                    }\n                };\n                getZIndexOfTriggerTarget(e.target);\n                // If targetZIndex is heigher then opt.zIndex dont progress any futher.\n                // This is used to make sure that if you are using a dialog with a input / textarea / contenteditable div\n                // and its above the contextmenu it wont steal keys events\n                if (opt.$menu && parseInt(targetZIndex,10) > parseInt(opt.$menu.css(\"zIndex\"),10)) {\n                    return;\n                }\n                switch (e.keyCode) {\n                    case 9:\n                    case 38: // up\n                        handle.keyStop(e, opt);\n                        // if keyCode is [38 (up)] or [9 (tab) with shift]\n                        if (opt.isInput) {\n                            if (e.keyCode === 9 && e.shiftKey) {\n                                e.preventDefault();\n                                if (opt.$selected) {\n                                    opt.$selected.find('input, textarea, select').blur();\n                                }\n                                if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('prevcommand');\n                                }\n                                return;\n                            } else if (e.keyCode === 38 && opt.$selected.find('input, textarea, select').prop('type') === 'checkbox') {\n                                // checkboxes don't capture this key\n                                e.preventDefault();\n                                return;\n                            }\n                        } else if (e.keyCode !== 9 || e.shiftKey) {\n                            if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                opt.$menu.trigger('prevcommand');\n                            }\n                            return;\n                        }\n                        break;\n                    // omitting break;\n                    // case 9: // tab - reached through omitted break;\n                    case 40: // down\n                        handle.keyStop(e, opt);\n                        if (opt.isInput) {\n                            if (e.keyCode === 9) {\n                                e.preventDefault();\n                                if (opt.$selected) {\n                                    opt.$selected.find('input, textarea, select').blur();\n                                }\n                                if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('nextcommand');\n                                }\n                                return;\n                            } else if (e.keyCode === 40 && opt.$selected.find('input, textarea, select').prop('type') === 'checkbox') {\n                                // checkboxes don't capture this key\n                                e.preventDefault();\n                                return;\n                            }\n                        } else {\n                            if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                opt.$menu.trigger('nextcommand');\n                            }\n                            return;\n                        }\n                        break;\n\n                    case 37: // left\n                        handle.keyStop(e, opt);\n                        if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n                            break;\n                        }\n\n                        if (!opt.$selected.parent().hasClass('context-menu-root')) {\n                            var $parent = opt.$selected.parent().parent();\n                            opt.$selected.trigger('contextmenu:blur');\n                            opt.$selected = $parent;\n                            return;\n                        }\n                        break;\n\n                    case 39: // right\n                        handle.keyStop(e, opt);\n                        if (opt.isInput || !opt.$selected || !opt.$selected.length) {\n                            break;\n                        }\n\n                        var itemdata = opt.$selected.data('contextMenu') || {};\n                        if (itemdata.$menu && opt.$selected.hasClass('context-menu-submenu')) {\n                            opt.$selected = null;\n                            itemdata.$selected = null;\n                            itemdata.$menu.trigger('nextcommand');\n                            return;\n                        }\n                        break;\n\n                    case 35: // end\n                    case 36: // home\n                        if (opt.$selected && opt.$selected.find('input, textarea, select').length) {\n                            return;\n                        } else {\n                            (opt.$selected && opt.$selected.parent() || opt.$menu)\n                                .children(':not(.' + opt.classNames.disabled + ', .' + opt.classNames.notSelectable + ')')[e.keyCode === 36 ? 'first' : 'last']()\n                                .trigger('contextmenu:focus');\n                            e.preventDefault();\n                            return;\n                        }\n                        break;\n\n                    case 13: // enter\n                        handle.keyStop(e, opt);\n                        if (opt.isInput) {\n                            if (opt.$selected && !opt.$selected.is('textarea, select')) {\n                                e.preventDefault();\n                                return;\n                            }\n                            break;\n                        }\n                        if (typeof opt.$selected !== 'undefined' && opt.$selected !== null) {\n                            opt.$selected.trigger('mouseup');\n                        }\n                        return;\n\n                    case 32: // space\n                    case 33: // page up\n                    case 34: // page down\n                        // prevent browser from scrolling down while menu is visible\n                        handle.keyStop(e, opt);\n                        return;\n\n                    case 27: // esc\n                        handle.keyStop(e, opt);\n                        if (opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                            opt.$menu.trigger('contextmenu:hide');\n                        }\n                        return;\n\n                    default: // 0-9, a-z\n                        var k = (String.fromCharCode(e.keyCode)).toUpperCase();\n                        if (opt.accesskeys && opt.accesskeys[k]) {\n                            // according to the specs accesskeys must be invoked immediately\n                            opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? 'contextmenu:focus' : 'mouseup');\n                            return;\n                        }\n                        break;\n                }\n                // pass event to selected item,\n                // stop propagation to avoid endless recursion\n                e.stopPropagation();\n                if (typeof opt.$selected !== 'undefined' && opt.$selected !== null) {\n                    opt.$selected.trigger(e);\n                }\n            },\n            // select previous possible command in menu\n            prevItem: function (e) {\n                e.stopPropagation();\n                var opt = $(this).data('contextMenu') || {};\n                var root = $(this).data('contextMenuRoot') || {};\n\n                // obtain currently selected menu\n                if (opt.$selected) {\n                    var $s = opt.$selected;\n                    opt = opt.$selected.parent().data('contextMenu') || {};\n                    opt.$selected = $s;\n                }\n\n                var $children = opt.$menu.children(),\n                    $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),\n                    $round = $prev;\n\n                // skip disabled or hidden elements\n                while ($prev.hasClass(root.classNames.disabled) || $prev.hasClass(root.classNames.notSelectable) || $prev.is(':hidden')) {\n                    if ($prev.prev().length) {\n                        $prev = $prev.prev();\n                    } else {\n                        $prev = $children.last();\n                    }\n                    if ($prev.is($round)) {\n                        // break endless loop\n                        return;\n                    }\n                }\n\n                // leave current\n                if (opt.$selected) {\n                    handle.itemMouseleave.call(opt.$selected.get(0), e);\n                }\n\n                // activate next\n                handle.itemMouseenter.call($prev.get(0), e);\n\n                // focus input\n                var $input = $prev.find('input, textarea, select');\n                if ($input.length) {\n                    $input.focus();\n                }\n            },\n            // select next possible command in menu\n            nextItem: function (e) {\n                e.stopPropagation();\n                var opt = $(this).data('contextMenu') || {};\n                var root = $(this).data('contextMenuRoot') || {};\n\n                // obtain currently selected menu\n                if (opt.$selected) {\n                    var $s = opt.$selected;\n                    opt = opt.$selected.parent().data('contextMenu') || {};\n                    opt.$selected = $s;\n                }\n\n                var $children = opt.$menu.children(),\n                    $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(),\n                    $round = $next;\n\n                // skip disabled\n                while ($next.hasClass(root.classNames.disabled) || $next.hasClass(root.classNames.notSelectable) || $next.is(':hidden')) {\n                    if ($next.next().length) {\n                        $next = $next.next();\n                    } else {\n                        $next = $children.first();\n                    }\n                    if ($next.is($round)) {\n                        // break endless loop\n                        return;\n                    }\n                }\n\n                // leave current\n                if (opt.$selected) {\n                    handle.itemMouseleave.call(opt.$selected.get(0), e);\n                }\n\n                // activate next\n                handle.itemMouseenter.call($next.get(0), e);\n\n                // focus input\n                var $input = $next.find('input, textarea, select');\n                if ($input.length) {\n                    $input.focus();\n                }\n            },\n            // flag that we're inside an input so the key handler can act accordingly\n            focusInput: function () {\n                var $this = $(this).closest('.context-menu-item'),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                root.$selected = opt.$selected = $this;\n                root.isInput = opt.isInput = true;\n            },\n            // flag that we're inside an input so the key handler can act accordingly\n            blurInput: function () {\n                var $this = $(this).closest('.context-menu-item'),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                root.isInput = opt.isInput = false;\n            },\n            // :hover on menu\n            menuMouseenter: function () {\n                var root = $(this).data().contextMenuRoot;\n                root.hovering = true;\n            },\n            // :hover on menu\n            menuMouseleave: function (e) {\n                var root = $(this).data().contextMenuRoot;\n                if (root.$layer && root.$layer.is(e.relatedTarget)) {\n                    root.hovering = false;\n                }\n            },\n            // :hover done manually so key handling is possible\n            itemMouseenter: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                // prevent fast hover on mobile tap-through\n                if (isInteractionTooFast($this)) {\n                    return;\n                }\n\n                root.hovering = true;\n\n                // abort if we're re-entering\n                if (e && root.$layer && root.$layer.is(e.relatedTarget)) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                }\n\n                // make sure only one item is selected\n                (opt.$menu ? opt : root).$menu\n                    .children('.' + root.classNames.hover).trigger('contextmenu:blur')\n                    .children('.hover').trigger('contextmenu:blur');\n\n                if ($this.hasClass(root.classNames.disabled) || $this.hasClass(root.classNames.notSelectable)) {\n                    opt.$selected = null;\n                    return;\n                }\n\n\n                $this.trigger('contextmenu:focus');\n            },\n            // :hover done manually so key handling is possible\n            itemMouseleave: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if (root !== opt && root.$layer && root.$layer.is(e.relatedTarget)) {\n                    if (typeof root.$selected !== 'undefined' && root.$selected !== null) {\n                        root.$selected.trigger('contextmenu:blur');\n                    }\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    root.$selected = opt.$selected = opt.$node;\n                    return;\n                }\n\n                if(opt && opt.$menu && opt.$menu.hasClass('context-menu-visible')){\n                    return;\n                }\n\n                $this.trigger('contextmenu:blur');\n            },\n            // contextMenu item click\n            itemClick: function (e) {\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot,\n                    key = data.contextMenuKey,\n                    callback;\n\n                // prevent fast click-through on mobile taps\n                if (isInteractionTooFast($this)) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation();\n                    return;\n                }\n\n                // abort if the key is unknown or disabled or is a menu\n                // explicitly handle non-selectable submenu clicks first to stop propagation\n                if ($this.is('.context-menu-submenu') && root.selectableSubMenu === false) {\n                    e.preventDefault();\n                    e.stopImmediatePropagation(); // Stop event here for non-selectable submenus\n                    return;\n                }\n\n                // original check for other non-clickable/disabled items\n                if (!opt.items[key] || $this.is('.' + root.classNames.disabled + ', .context-menu-separator, .' + root.classNames.notSelectable)) {\n                    return;\n                }\n\n                // if it wasn't a non-selectable submenu or other disabled item, prevent default and stop propagation before callback\n                e.preventDefault();\n                e.stopImmediatePropagation();\n\n                if ($.isFunction(opt.callbacks[key]) && Object.prototype.hasOwnProperty.call(opt.callbacks, key)) {\n                    // item-specific callback\n                    callback = opt.callbacks[key];\n                } else if ($.isFunction(root.callback)) {\n                    // default callback\n                    callback = root.callback;\n                } else {\n                    // no callback, no action\n                    return;\n                }\n\n                // hide menu if callback doesn't stop that\n                if (callback.call(root.$trigger, key, root, e) !== false) {\n                    root.$menu.trigger('contextmenu:hide');\n                } else if (root.$menu.parent().length) {\n                    op.update.call(root.$trigger, root);\n                }\n            },\n            // ignore click events on input elements\n            inputClick: function (e) {\n                e.stopImmediatePropagation();\n            },\n            // hide <menu>\n            hideMenu: function (e, data) {\n                var root = $(this).data('contextMenuRoot');\n                op.hide.call(root.$trigger, root, data && data.force);\n            },\n            // focus <command>\n            focusItem: function (e) {\n                e.stopPropagation();\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if ($this.hasClass(root.classNames.disabled) || $this.hasClass(root.classNames.notSelectable)) {\n                    return;\n                }\n\n                $this\n                    .addClass([root.classNames.hover, root.classNames.visible].join(' '))\n                    // select other items and included items\n                    .parent().find('.context-menu-item').not($this)\n                    .removeClass(root.classNames.visible)\n                    .filter('.' + root.classNames.hover)\n                    .trigger('contextmenu:blur');\n\n                // remember selected\n                opt.$selected = root.$selected = $this;\n\n\n                if(opt && opt.$node && opt.$node.hasClass('context-menu-submenu')){\n                    opt.$node.addClass(root.classNames.hover);\n                }\n\n                // position sub-menu - do after show so dumb $.ui.position can keep up\n                if (opt.$node) {\n                    root.positionSubmenu.call(opt.$node, opt.$menu);\n                    if (opt.$menu) {\n                        var focusShowTimestamp = Date.now();\n                         opt.$menu.data('_showTimestamp', focusShowTimestamp);\n                    }\n                }\n            },\n            // blur <command>\n            blurItem: function (e) {\n                e.stopPropagation();\n                var $this = $(this),\n                    data = $this.data(),\n                    opt = data.contextMenu,\n                    root = data.contextMenuRoot;\n\n                if (opt.autoHide) { // for tablets and touch screens this needs to remain\n                    $this.removeClass(root.classNames.visible);\n                }\n                $this.removeClass(root.classNames.hover);\n                opt.$selected = null;\n            }\n        },\n        // operations\n        op = {\n            show: function (opt, x, y) {\n                var $trigger = $(this),\n                    css = {};\n\n                // hide any open menus\n                if ($('#context-menu-layer').length > 0)\n                    $('#context-menu-layer').trigger('mousedown');\n                else\n                    $(document).trigger('contextmenu:hide');\n\n                // backreference for callbacks\n                opt.$trigger = $trigger;\n\n                // show event\n                if (opt.events.show.call($trigger, opt) === false) {\n                    $currentTrigger = null;\n                    return;\n                }\n\n                // create or update context menu\n                var hasVisibleItems = op.update.call($trigger, opt);\n                if (hasVisibleItems === false) {\n                    $currentTrigger = null;\n                    return;\n                }\n\n                // position menu\n                opt.position.call($trigger, opt, x, y);\n\n                // make sure we're in front\n                if (opt.zIndex) {\n                    var additionalZValue = opt.zIndex;\n                    // If opt.zIndex is a function, call the function to get the right zIndex.\n                    if (typeof opt.zIndex === 'function') {\n                        additionalZValue = opt.zIndex.call($trigger, opt);\n                    }\n                    css.zIndex = zindex($trigger) + additionalZValue;\n                }\n\n                // add layer\n                op.layer.call(opt.$menu, opt, css.zIndex);\n\n                // adjust sub-menu zIndexes\n                opt.$menu.find('ul').css('zIndex', css.zIndex + 1);\n\n                // position and show context menu\n                opt.$menu.css(css)[opt.animation.show](opt.animation.duration, function () {\n                    $trigger.trigger('contextmenu:visible');\n\n                    var rootShowTimestamp = Date.now();\n                    opt.$menu.data('_showTimestamp', rootShowTimestamp);\n\n                    op.activated(opt);\n                    opt.events.activated(opt);\n                });\n                // make options available and set state\n                $trigger\n                    .data('contextMenu', opt)\n                    .addClass('context-menu-active');\n\n                // register key handler\n                $(document).off('keydown.contextMenu').on('keydown.contextMenu', handle.key);\n                // register autoHide handler\n                if (opt.autoHide) {\n                    // mouse position handler\n                    $(document).on('mousemove.contextMenuAutoHide', function (e) {\n                        // need to capture the offset on mousemove,\n                        // since the page might've been scrolled since activation\n                        var pos = $trigger.offset();\n                        pos.right = pos.left + $trigger.outerWidth();\n                        pos.bottom = pos.top + $trigger.outerHeight();\n\n                        if (opt.$layer && !opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom))) {\n                            /* Additional hover check after short time, you might just miss the edge of the menu */\n                            setTimeout(function () {\n                                if (!opt.hovering && opt.$menu !== null && typeof opt.$menu !== 'undefined') {\n                                    opt.$menu.trigger('contextmenu:hide');\n                                }\n                            }, 50);\n                        }\n                    });\n                }\n            },\n            hide: function (opt, force) {\n                var $trigger = $(this);\n                if (!opt) {\n                    opt = $trigger.data('contextMenu') || {};\n                }\n\n                // hide event\n                if (!force && opt.events && opt.events.hide.call($trigger, opt) === false) {\n                    return;\n                }\n\n                // remove options and revert state\n                $trigger\n                    .removeData('contextMenu')\n                    .removeClass('context-menu-active');\n\n                if (opt.$layer) {\n                    // keep layer for a bit so the contextmenu event can be aborted properly by opera\n                    setTimeout((function ($layer) {\n                        return function () {\n                            $layer.remove();\n                        };\n                    })(opt.$layer), 10);\n\n                    try {\n                        delete opt.$layer;\n                    } catch (e) {\n                        opt.$layer = null;\n                    }\n                }\n\n                // remove handle\n                $currentTrigger = null;\n                // remove selected\n                opt.$menu.find('.' + opt.classNames.hover).trigger('contextmenu:blur');\n                opt.$selected = null;\n                // collapse all submenus\n                opt.$menu.find('.' + opt.classNames.visible).removeClass(opt.classNames.visible);\n                // unregister key and mouse handlers\n                // $(document).off('.contextMenuAutoHide keydown.contextMenu'); // http://bugs.jquery.com/ticket/10705\n                $(document).off('.contextMenuAutoHide').off('keydown.contextMenu');\n                // hide menu\n                if (opt.$menu) {\n                    opt.$menu[opt.animation.hide](opt.animation.duration, function () {\n                        // tear down dynamically built menu after animation is completed.\n                        if (opt.build) {\n                            opt.$menu.remove();\n                            $.each(opt, function (key) {\n                                switch (key) {\n                                    case 'ns':\n                                    case 'selector':\n                                    case 'build':\n                                    case 'trigger':\n                                        return true;\n\n                                    default:\n                                        opt[key] = undefined;\n                                        try {\n                                            delete opt[key];\n                                        } catch (e) {\n                                        }\n                                        return true;\n                                }\n                            });\n                        }\n\n                        setTimeout(function () {\n                            $trigger.trigger('contextmenu:hidden');\n                        }, 10);\n                    });\n                }\n            },\n            create: function (opt, root) {\n                if (typeof root === 'undefined') {\n                    root = opt;\n                }\n\n                // define handler for fast input clicks\n                var handleFastInputClick = function(e) {\n                    var $inputClicked = $(this);\n                    if (isInteractionTooFast($inputClicked)) {\n                        e.preventDefault();\n                        e.stopImmediatePropagation();\n                        return false;\n                    }\n                };\n\n                // create contextMenu\n                opt.$menu = $('<ul class=\"context-menu-list\"></ul>').addClass(opt.className || '').data({\n                    'contextMenu': opt,\n                    'contextMenuRoot': root\n                });\n                if(opt.dataAttr){\n                    $.each(opt.dataAttr, function (key, item) {\n                        opt.$menu.attr('data-' + opt.key, item);\n                    });\n                }\n\n                $.each(['callbacks', 'commands', 'inputs'], function (i, k) {\n                    opt[k] = {};\n                    if (!root[k]) {\n                        root[k] = {};\n                    }\n                });\n\n                if (!root.accesskeys) {\n                    root.accesskeys = {};\n                }\n\n                function createNameNode(item) {\n                    var $name = $('<span></span>');\n                    if (item._accesskey) {\n                        if (item._beforeAccesskey) {\n                            $name.append(document.createTextNode(item._beforeAccesskey));\n                        }\n                        $('<span></span>')\n                            .addClass('context-menu-accesskey')\n                            .text(item._accesskey)\n                            .appendTo($name);\n                        if (item._afterAccesskey) {\n                            $name.append(document.createTextNode(item._afterAccesskey));\n                        }\n                    } else {\n                        if (item.isHtmlName) {\n                            // restrict use with access keys\n                            if (typeof item.accesskey !== 'undefined') {\n                                throw new Error('accesskeys are not compatible with HTML names and cannot be used together in the same item');\n                            }\n                            $name.html(item.name);\n                        } else {\n                            $name.text(item.name);\n                        }\n                    }\n                    return $name;\n                }\n\n                // create contextMenu items\n                $.each(opt.items, function (key, item) {\n                    var $t = $('<li class=\"context-menu-item\"></li>').addClass(item.className || ''),\n                        $label = null,\n                        $input = null;\n\n                    // iOS needs to see a click-event bound to an element to actually\n                    // have the TouchEvents infrastructure trigger the click event\n                    $t.on('click', $.noop);\n\n                    // Make old school string seperator a real item so checks wont be\n                    // akward later.\n                    // And normalize 'cm_separator' into 'cm_seperator'.\n                    if (typeof item === 'string' || item.type === 'cm_separator') {\n                        item = {type: 'cm_seperator'};\n                    }\n\n                    item.$node = $t.data({\n                        'contextMenu': opt,\n                        'contextMenuRoot': root,\n                        'contextMenuKey': key\n                    });\n\n                    // register accesskey\n                    // NOTE: the accesskey attribute should be applicable to any element, but Safari5 and Chrome13 still can't do that\n                    if (typeof item.accesskey !== 'undefined') {\n                        var aks = splitAccesskey(item.accesskey);\n                        for (var i = 0, ak; ak = aks[i]; i++) {\n                            if (!root.accesskeys[ak]) {\n                                root.accesskeys[ak] = item;\n                                var matched = item.name.match(new RegExp('^(.*?)(' + ak + ')(.*)$', 'i'));\n                                if (matched) {\n                                    item._beforeAccesskey = matched[1];\n                                    item._accesskey = matched[2];\n                                    item._afterAccesskey = matched[3];\n                                }\n                                break;\n                            }\n                        }\n                    }\n\n                    if (item.type && types[item.type]) {\n                        // run custom type handler\n                        types[item.type].call($t, item, opt, root);\n                        // register commands\n                        $.each([opt, root], function (i, k) {\n                            k.commands[key] = item;\n                            // Overwrite only if undefined or the item is appended to the root. This so it\n                            // doesn't overwrite callbacks of root elements if the name is the same.\n                            if ($.isFunction(item.callback) && (typeof k.callbacks[key] === 'undefined' || typeof opt.type === 'undefined')) {\n                                k.callbacks[key] = item.callback;\n                            }\n                        });\n                    } else {\n                        // add label for input\n                        if (item.type === 'cm_seperator') {\n                            $t.addClass('context-menu-separator ' + root.classNames.notSelectable);\n                        } else if (item.type === 'html') {\n                            $t.addClass('context-menu-html ' + root.classNames.notSelectable);\n                        } else if (item.type !== 'sub' && item.type) {\n                            $label = $('<label></label>').appendTo($t);\n                            createNameNode(item).appendTo($label);\n\n                            $t.addClass('context-menu-input');\n                            opt.hasTypes = true;\n                            $.each([opt, root], function (i, k) {\n                                k.commands[key] = item;\n                                k.inputs[key] = item;\n                            });\n                        } else if (item.items) {\n                            item.type = 'sub';\n                        }\n\n                        switch (item.type) {\n                            case 'cm_seperator':\n                                break;\n\n                            case 'text':\n                                $input = $('<input type=\"text\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .appendTo($label);\n                                break;\n\n                            case 'textarea':\n                                $input = $('<textarea name=\"\"></textarea>')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .appendTo($label);\n\n                                if (item.height) {\n                                    $input.height(item.height);\n                                }\n                                break;\n\n                            case 'checkbox':\n                                $input = $('<input type=\"checkbox\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .val(item.value || '')\n                                    .prop('checked', !!item.selected)\n                                    .prependTo($label);\n                                // prevent checkbox default action on fast click-through\n                                $input.on('click', handleFastInputClick);\n                                break;\n\n                            case 'radio':\n                                $input = $('<input type=\"radio\" value=\"1\" name=\"\" />')\n                                    .attr('name', 'context-menu-input-' + item.radio)\n                                    .val(item.value || '')\n                                    .prop('checked', !!item.selected)\n                                    .prependTo($label);\n                                // prevent radio default action on fast click-through\n                                $input.on('click', handleFastInputClick);\n                                break;\n\n                            case 'select':\n                                $input = $('<select name=\"\"></select>')\n                                    .attr('name', 'context-menu-input-' + key)\n                                    .appendTo($label);\n                                if (item.options) {\n                                    $.each(item.options, function (value, text) {\n                                        $('<option></option>').val(value).text(text).appendTo($input);\n                                    });\n                                    $input.val(item.selected);\n                                }\n                                break;\n\n                            case 'sub':\n                                createNameNode(item).appendTo($t);\n                                item.appendTo = item.$node;\n                                $t.data('contextMenu', item).addClass('context-menu-submenu');\n                                item.callback = null;\n\n                                // If item contains items, and this is a promise, we should create it later\n                                // check if subitems is of type promise. If it is a promise we need to create\n                                // it later, after promise has been resolved.\n                                if ('function' === typeof item.items.then) {\n                                    // probably a promise, process it, when completed it will create the sub menu's.\n                                    op.processPromises(item, root, item.items);\n                                } else {\n                                    // normal submenu.\n                                    op.create(item, root);\n                                }\n                                break;\n\n                            case 'html':\n                                $(item.html).appendTo($t);\n                                break;\n\n                            default:\n                                $.each([opt, root], function (i, k) {\n                                    k.commands[key] = item;\n                                    // Overwrite only if undefined or the item is appended to the root. This so it\n                                    // doesn't overwrite callbacks of root elements if the name is the same.\n                                    if ($.isFunction(item.callback) && (typeof k.callbacks[key] === 'undefined' || typeof opt.type === 'undefined')) {\n                                        k.callbacks[key] = item.callback;\n                                    }\n                                });\n                                createNameNode(item).appendTo($t);\n                                break;\n                        }\n\n                        // disable key listener in <input>\n                        if (item.type && item.type !== 'sub' && item.type !== 'html' && item.type !== 'cm_seperator') {\n                            $input\n                                .on('focus', handle.focusInput)\n                                .on('blur', handle.blurInput);\n\n                            if (item.events) {\n                                $input.on(item.events, opt);\n                            }\n                        }\n\n                        // add icons\n                        if (item.icon) {\n                            if ($.isFunction(item.icon)) {\n                                item._icon = item.icon.call(this, this, $t, key, item);\n                            } else {\n                                if (typeof(item.icon) === 'string' && (\n                                    item.icon.substring(0, 4) === 'fab '\n                                    || item.icon.substring(0, 4) === 'fas '\n                                    || item.icon.substring(0, 4) === 'fad '\n                                    || item.icon.substring(0, 4) === 'far '\n                                    || item.icon.substring(0, 4) === 'fal ')\n                                ) {\n                                    // to enable font awesome\n                                    $t.addClass(root.classNames.icon + ' ' + root.classNames.icon + '--fa5');\n                                    item._icon = $('<i class=\"' + item.icon + '\"></i>');\n                                } else if (typeof(item.icon) === 'string' && item.icon.substring(0, 3) === 'fa-') {\n                                    item._icon = root.classNames.icon + ' ' + root.classNames.icon + '--fa fa ' + item.icon;\n                                } else {\n                                    item._icon = root.classNames.icon + ' ' + root.classNames.icon + '-' + item.icon;\n                                }\n                            }\n\n                            if(typeof(item._icon) === \"string\"){\n                                $t.addClass(item._icon);\n                            } else {\n                                $t.prepend(item._icon);\n                            }\n                        }\n                    }\n\n                    // cache contained elements\n                    item.$input = $input;\n                    item.$label = $label;\n\n                    // attach item to menu\n                    $t.appendTo(opt.$menu);\n\n                    // Disable text selection\n                    if (!opt.hasTypes && $.support.eventSelectstart) {\n                        // browsers support user-select: none,\n                        // IE has a special event for text-selection\n                        // browsers supporting neither will not be preventing text-selection\n                        $t.on('selectstart.disableTextSelect', handle.abortevent);\n                    }\n                });\n                // attach contextMenu to <body> (to bypass any possible overflow:hidden issues on parents of the trigger element)\n                if (!opt.$node) {\n                    opt.$menu.css('display', 'none').addClass('context-menu-root');\n                }\n                opt.$menu.appendTo(opt.appendTo || document.body);\n            },\n            resize: function ($menu, nested) {\n                var domMenu;\n                // determine widths of submenus, as CSS won't grow them automatically\n                // position:absolute within position:absolute; min-width:100; max-width:200; results in width: 100;\n                // kinda sucks hard...\n\n                // determine width of absolutely positioned element\n                $menu.css({position: 'absolute', display: 'block'});\n                // don't apply yet, because that would break nested elements' widths\n                $menu.data('width',\n                    (domMenu = $menu.get(0)).getBoundingClientRect ?\n                        Math.ceil(domMenu.getBoundingClientRect().width) :\n                        $menu.outerWidth() + 1); // outerWidth() returns rounded pixels\n                // reset styles so they allow nested elements to grow/shrink naturally\n                $menu.css({\n                    position: 'static',\n                    minWidth: '0px',\n                    maxWidth: '100000px'\n                });\n                // identify width of nested menus\n                $menu.find('> li > ul').each(function () {\n                    op.resize($(this), true);\n                });\n                // reset and apply changes in the end because nested\n                // elements' widths wouldn't be calculatable otherwise\n                if (!nested) {\n                    $menu.find('ul').addBack().css({\n                        position: '',\n                        display: '',\n                        minWidth: '',\n                        maxWidth: ''\n                    }).outerWidth(function () {\n                        return $(this).data('width');\n                    });\n                }\n            },\n            update: function (opt, root) {\n                var $trigger = this;\n                if (typeof root === 'undefined') {\n                    root = opt;\n                    op.resize(opt.$menu);\n                }\n\n                var hasVisibleItems = false;\n\n                // re-check disabled for each item\n                opt.$menu.children().each(function () {\n                    var $item = $(this),\n                        key = $item.data('contextMenuKey'),\n                        item = opt.items[key],\n                        disabled = ($.isFunction(item.disabled) && item.disabled.call($trigger, key, root)) || item.disabled === true,\n                        visible;\n                    if ($.isFunction(item.visible)) {\n                        visible = item.visible.call($trigger, key, root);\n                    } else if (typeof item.visible !== 'undefined') {\n                        visible = item.visible === true;\n                    } else {\n                        visible = true;\n                    }\n\n                    if (visible) {\n                        hasVisibleItems = true;\n                    }\n\n                    $item[visible ? 'show' : 'hide']();\n\n                    // dis- / enable item\n                    $item[disabled ? 'addClass' : 'removeClass'](root.classNames.disabled);\n\n                    if ($.isFunction(item.icon)) {\n                        $item.removeClass(item._icon);\n                        var iconResult = item.icon.call(this, $trigger, $item, key, item);\n                        if(typeof(iconResult) === \"string\"){\n                            $item.addClass(iconResult);\n                        } else {\n                            $item.prepend(iconResult);\n                        }\n                    }\n\n                    if (item.type) {\n                        // dis- / enable input elements\n                        $item.find('input, select, textarea').prop('disabled', disabled);\n\n                        // update input states\n                        switch (item.type) {\n                            case 'text':\n                            case 'textarea':\n                                item.$input.val(item.value || '');\n                                break;\n\n                            case 'checkbox':\n                            case 'radio':\n                                item.$input.val(item.value || '').prop('checked', !!item.selected);\n                                break;\n\n                            case 'select':\n                                item.$input.val((item.selected === 0 ? \"0\" : item.selected) || '');\n                                break;\n                        }\n                    }\n\n                    if (item.$menu) {\n                        // update sub-menu\n                        var subMenuHasVisibleItems = op.update.call($trigger, item, root);\n                        if (subMenuHasVisibleItems) {\n                            hasVisibleItems = true;\n                        }\n                    }\n                });\n                return hasVisibleItems;\n            },\n            layer: function (opt, zIndex) {\n                if (!opt.useModal) {\n                    var listener = function (ev) {\n                        handle.layerClick(ev, opt, function() {\n                            document.removeEventListener('mousedown', listener, true);\n                        });\n                    };\n                    document.addEventListener('mousedown', listener, true);\n                    return;\n                }\n\n                // add transparent layer for click area\n                // filter and background for Internet Explorer, Issue #23\n                var $layer = opt.$layer = $('<div id=\"context-menu-layer\"></div>')\n                    .css({\n                        height: $win.height(),\n                        width: $win.width(),\n                        display: 'block',\n                        position: 'fixed',\n                        'z-index': zIndex - 1,\n                        top: 0,\n                        left: 0,\n                        opacity: 0,\n                        filter: 'alpha(opacity=0)',\n                        'background-color': '#000'\n                    })\n                    .data('contextMenuRoot', opt)\n                    .appendTo(document.body)\n                    .on('contextmenu', handle.abortevent)\n                    .on('mousedown', handle.layerClick);\n\n                // IE6 doesn't know position:fixed;\n                if (typeof document.body.style.maxWidth === 'undefined') { // IE6 doesn't support maxWidth\n                    $layer.css({\n                        'position': 'absolute',\n                        'height': $(document).height()\n                    });\n                }\n\n                return $layer;\n            },\n            processPromises: function (opt, root, promise) {\n                // Start\n                opt.$node.addClass(root.classNames.iconLoadingClass);\n\n                function completedPromise(opt, root, items) {\n                    // Completed promise (dev called promise.resolve). We now have a list of items which can\n                    // be used to create the rest of the context menu.\n                    if (typeof items === 'undefined') {\n                        // Null result, dev should have checked\n                        errorPromise(undefined);//own error object\n                    }\n                    finishPromiseProcess(opt, root, items);\n                }\n\n                function errorPromise(opt, root, errorItem) {\n                    // User called promise.reject() with an error item, if not, provide own error item.\n                    if (typeof errorItem === 'undefined') {\n                        errorItem = {\n                            \"error\": {\n                                name: \"No items and no error item\",\n                                icon: \"context-menu-icon context-menu-icon-quit\"\n                            }\n                        };\n                        if (window.console) {\n                            (console.error || console.log).call(console, 'When you reject a promise, provide an \"items\" object, equal to normal sub-menu items');\n                        }\n                    } else if (typeof errorItem === 'string') {\n                        errorItem = {\"error\": {name: errorItem}};\n                    }\n                    finishPromiseProcess(opt, root, errorItem);\n                }\n\n                function finishPromiseProcess(opt, root, items) {\n                    if (typeof root.$menu === 'undefined' || !root.$menu.is(':visible')) {\n                        return;\n                    }\n                    opt.$node.removeClass(root.classNames.iconLoadingClass);\n                    opt.items = items;\n                    op.create(opt, root, true); // Create submenu\n                    op.update(opt, root); // Correctly update position if user is already hovered over menu item\n                    root.positionSubmenu.call(opt.$node, opt.$menu); // positionSubmenu, will only do anything if user already hovered over menu item that just got new subitems.\n                }\n\n                // Wait for promise completion. .then(success, error, notify) (we don't track notify). Bind the opt\n                // and root to avoid scope problems\n                promise.then(completedPromise.bind(this, opt, root), errorPromise.bind(this, opt, root));\n            },\n            // operation that will run after contextMenu showed on screen\n            activated: function(opt){\n                var $menu = opt.$menu;\n                var $menuOffset = $menu.offset();\n                var winHeight = $(window).height();\n                var winWidth = $(window).width();\n                var winScrollTop = $(window).scrollTop();\n                var winScrollLeft = $(window).scrollLeft();\n                var menuHeight = $menu.height();\n                var outerHeight = $menu.outerHeight();\n                var outerWidth = $menu.outerWidth();\n\n                if(menuHeight > winHeight){\n                    $menu.css({\n                        'height' : winHeight + 'px',\n                        'overflow-x': 'hidden',\n                        'overflow-y': 'auto',\n                        'top': winScrollTop + 'px'\n                    });\n                } else if($menuOffset.top < winScrollTop){\n                    $menu.css({\n                      'top': winScrollTop + 'px'\n                    });\n                } else if($menuOffset.top + outerHeight > winScrollTop + winHeight){\n                    $menu.css({\n                      'top': $menuOffset.top - (($menuOffset.top + outerHeight) - (winScrollTop + winHeight)) + \"px\"\n                    });\n                }\n                if($menuOffset.left + outerWidth > winScrollLeft + winWidth){\n                    $menu.css({\n                      'left': $menuOffset.left - (($menuOffset.left + outerWidth) - (winScrollLeft + winWidth)) + \"px\"\n                    });\n                }\n            }\n        };\n\n    // split accesskey according to http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#assigned-access-key\n    function splitAccesskey(val) {\n        var t = val.split(/\\s+/);\n        var keys = [];\n\n        for (var i = 0, k; k = t[i]; i++) {\n            k = k.charAt(0).toUpperCase(); // first character only\n            // theoretically non-accessible characters should be ignored, but different systems, different keyboard layouts, ... screw it.\n            // a map to look up already used access keys would be nice\n            keys.push(k);\n        }\n\n        return keys;\n    }\n\n// handle contextMenu triggers\n    $.fn.contextMenu = function (operation) {\n        var $t = this, $o = operation;\n        if (this.length > 0) {  // this is not a build on demand menu\n            if (typeof operation === 'undefined') {\n                this.first().trigger('contextmenu');\n            } else if (typeof operation.x !== 'undefined' && typeof operation.y !== 'undefined') {\n                this.first().trigger($.Event('contextmenu', {\n                    pageX: operation.x,\n                    pageY: operation.y,\n                    mouseButton: operation.button\n                }));\n            } else if (operation === 'hide') {\n                var $menu = this.first().data('contextMenu') ? this.first().data('contextMenu').$menu : null;\n                if ($menu) {\n                    $menu.trigger('contextmenu:hide');\n                }\n            } else if (operation === 'destroy') {\n                $.contextMenu('destroy', {context: this});\n            } else if ($.isPlainObject(operation)) {\n                operation.context = this;\n                $.contextMenu('create', operation);\n            } else if (operation) {\n                this.removeClass('context-menu-disabled');\n            } else if (!operation) {\n                this.addClass('context-menu-disabled');\n            }\n        } else {\n            $.each(menus, function () {\n                if (this.selector === $t.selector) {\n                    $o.data = this;\n\n                    $.extend($o.data, {trigger: 'demand'});\n                }\n            });\n\n            handle.contextmenu.call($o.target, $o);\n        }\n\n        return this;\n    };\n\n    // manage contextMenu instances\n    $.contextMenu = function (operation, options) {\n        if (typeof operation !== 'string') {\n            options = operation;\n            operation = 'create';\n        }\n\n        if (typeof options === 'string') {\n            options = {selector: options};\n        } else if (typeof options === 'undefined') {\n            options = {};\n        }\n\n        // merge with default options\n        var o = $.extend(true, {}, defaults, options || {});\n        var $document = $(document);\n        var $context = $document;\n        var _hasContext = false;\n\n        if (!o.context || !o.context.length) {\n            o.context = document;\n        } else {\n            // you never know what they throw at you...\n            $context = $(o.context).first();\n            o.context = $context.get(0);\n            _hasContext = !$(o.context).is(document);\n        }\n\n        switch (operation) {\n\n            case 'update':\n                // Updates visibility and such\n                if(_hasContext){\n                    op.update($context);\n                } else {\n                    for(var menu in menus){\n                        if(menus.hasOwnProperty(menu)){\n                            op.update(menus[menu]);\n                        }\n                    }\n                }\n                break;\n\n            case 'create':\n                // no selector no joy\n                if (!o.selector) {\n                    throw new Error('No selector specified');\n                }\n                // make sure internal classes are not bound to\n                if (o.selector.match(/.context-menu-(list|item|input)($|\\s)/)) {\n                    throw new Error('Cannot bind to selector \"' + o.selector + '\" as it contains a reserved className');\n                }\n                if (!o.build && (!o.items || $.isEmptyObject(o.items))) {\n                    throw new Error('No Items specified');\n                }\n                counter++;\n                o.ns = '.contextMenu' + counter;\n                if (!_hasContext) {\n                    namespaces[o.selector] = o.ns;\n                }\n                menus[o.ns] = o;\n\n                // default to right click\n                if (!o.trigger) {\n                    o.trigger = 'right';\n                }\n\n                if (!initialized) {\n                    var itemClick = o.itemClickEvent === 'click' ? 'click.contextMenu' : 'mouseup.contextMenu';\n                    var contextMenuItemObj = {\n                        // 'mouseup.contextMenu': handle.itemClick,\n                        // 'click.contextMenu': handle.itemClick,\n                        'contextmenu:focus.contextMenu': handle.focusItem,\n                        'contextmenu:blur.contextMenu': handle.blurItem,\n                        'contextmenu.contextMenu': handle.abortevent,\n                        'mouseenter.contextMenu': handle.itemMouseenter,\n                        'mouseleave.contextMenu': handle.itemMouseleave\n                    };\n                    contextMenuItemObj[itemClick] = handle.itemClick;\n                    // make sure item click is registered first\n                    $document\n                        .on({\n                            'contextmenu:hide.contextMenu': handle.hideMenu,\n                            'prevcommand.contextMenu': handle.prevItem,\n                            'nextcommand.contextMenu': handle.nextItem,\n                            'contextmenu.contextMenu': handle.abortevent,\n                            'mouseenter.contextMenu': handle.menuMouseenter,\n                            'mouseleave.contextMenu': handle.menuMouseleave\n                        }, '.context-menu-list')\n                        .on('mouseup.contextMenu', '.context-menu-input', handle.inputClick)\n                        .on(contextMenuItemObj, '.context-menu-item');\n\n                    initialized = true;\n                }\n\n                // engage native contextmenu event\n                $context\n                    .on('contextmenu' + o.ns, o.selector, o, handle.contextmenu);\n\n                if (_hasContext) {\n                    // add remove hook, just in case\n                    $context.on('remove' + o.ns, function () {\n                        $(this).contextMenu('destroy');\n                    });\n                }\n\n                switch (o.trigger) {\n                    case 'hover':\n                        $context\n                            .on('mouseenter' + o.ns, o.selector, o, handle.mouseenter)\n                            .on('mouseleave' + o.ns, o.selector, o, handle.mouseleave);\n                        break;\n\n                    case 'left':\n                        $context.on('click' + o.ns, o.selector, o, handle.click);\n                        break;\n\t\t\t\t    case 'touchstart':\n                        $context.on('touchstart' + o.ns, o.selector, o, handle.click);\n                        break;\n                    /*\n                     default:\n                     // http://www.quirksmode.org/dom/events/contextmenu.html\n                     $document\n                     .on('mousedown' + o.ns, o.selector, o, handle.mousedown)\n                     .on('mouseup' + o.ns, o.selector, o, handle.mouseup);\n                     break;\n                     */\n                }\n\n                // create menu\n                if (!o.build) {\n                    op.create(o);\n                }\n                break;\n\n            case 'destroy':\n                var $visibleMenu;\n                if (_hasContext) {\n                    // get proper options\n                    var context = o.context;\n                    $.each(menus, function (ns, o) {\n\n                        if (!o) {\n                            return true;\n                        }\n\n                        // Is this menu equest to the context called from\n                        if (!$(context).is(o.selector)) {\n                            return true;\n                        }\n\n                        $visibleMenu = $('.context-menu-list').filter(':visible');\n                        if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {\n                            $visibleMenu.trigger('contextmenu:hide', {force: true});\n                        }\n\n                        try {\n                            if (menus[o.ns].$menu) {\n                                menus[o.ns].$menu.remove();\n                            }\n\n                            delete menus[o.ns];\n                        } catch (e) {\n                            menus[o.ns] = null;\n                        }\n\n                        $(o.context).off(o.ns);\n\n                        return true;\n                    });\n                } else if (!o.selector) {\n                    $document.off('.contextMenu .contextMenuAutoHide');\n                    $.each(menus, function (ns, o) {\n                        $(o.context).off(o.ns);\n                    });\n\n                    namespaces = {};\n                    menus = {};\n                    counter = 0;\n                    initialized = false;\n\n                    $('#context-menu-layer, .context-menu-list').remove();\n                } else if (namespaces[o.selector]) {\n                    $visibleMenu = $('.context-menu-list').filter(':visible');\n                    if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {\n                        $visibleMenu.trigger('contextmenu:hide', {force: true});\n                    }\n\n                    try {\n                        if (menus[namespaces[o.selector]].$menu) {\n                            menus[namespaces[o.selector]].$menu.remove();\n                        }\n\n                        delete menus[namespaces[o.selector]];\n                    } catch (e) {\n                        menus[namespaces[o.selector]] = null;\n                    }\n\n                    $document.off(namespaces[o.selector]);\n                }\n                break;\n\n            case 'html5':\n                // if <command> and <menuitem> are not handled by the browser,\n                // or options was a bool true,\n                // initialize $.contextMenu for them\n                if ((!$.support.htmlCommand && !$.support.htmlMenuitem) || (typeof options === 'boolean' && options)) {\n                    $('menu[type=\"context\"]').each(function () {\n                        if (this.id) {\n                            $.contextMenu({\n                                selector: '[contextmenu=' + this.id + ']',\n                                items: $.contextMenu.fromMenu(this)\n                            });\n                        }\n                    }).css('display', 'none');\n                }\n                break;\n\n            default:\n                throw new Error('Unknown operation \"' + operation + '\"');\n        }\n\n        return this;\n    };\n\n// import values into <input> commands\n    $.contextMenu.setInputValues = function (opt, data) {\n        if (typeof data === 'undefined') {\n            data = {};\n        }\n\n        $.each(opt.inputs, function (key, item) {\n            switch (item.type) {\n                case 'text':\n                case 'textarea':\n                    item.value = data[key] || '';\n                    break;\n\n                case 'checkbox':\n                    item.selected = data[key] ? true : false;\n                    break;\n\n                case 'radio':\n                    item.selected = (data[item.radio] || '') === item.value;\n                    break;\n\n                case 'select':\n                    item.selected = data[key] || '';\n                    break;\n            }\n        });\n    };\n\n// export values from <input> commands\n    $.contextMenu.getInputValues = function (opt, data) {\n        if (typeof data === 'undefined') {\n            data = {};\n        }\n\n        $.each(opt.inputs, function (key, item) {\n            switch (item.type) {\n                case 'text':\n                case 'textarea':\n                case 'select':\n                    data[key] = item.$input.val();\n                    break;\n\n                case 'checkbox':\n                    data[key] = item.$input.prop('checked');\n                    break;\n\n                case 'radio':\n                    if (item.$input.prop('checked')) {\n                        data[item.radio] = item.value;\n                    }\n                    break;\n            }\n        });\n\n        return data;\n    };\n\n// find <label for=\"xyz\">\n    function inputLabel(node) {\n        return (node.id && $('label[for=\"' + node.id + '\"]').val()) || node.name;\n    }\n\n// convert <menu> to items object\n    function menuChildren(items, $children, counter) {\n        if (!counter) {\n            counter = 0;\n        }\n\n        $children.each(function () {\n            var $node = $(this),\n                node = this,\n                nodeName = this.nodeName.toLowerCase(),\n                label,\n                item;\n\n            // extract <label><input>\n            if (nodeName === 'label' && $node.find('input, textarea, select').length) {\n                label = $node.text();\n                $node = $node.children().first();\n                node = $node.get(0);\n                nodeName = node.nodeName.toLowerCase();\n            }\n\n            /*\n             * <menu> accepts flow-content as children. that means <embed>, <canvas> and such are valid menu items.\n             * Not being the sadistic kind, $.contextMenu only accepts:\n             * <command>, <menuitem>, <hr>, <span>, <p> <input [text, radio, checkbox]>, <textarea>, <select> and of course <menu>.\n             * Everything else will be imported as an html node, which is not interfaced with contextMenu.\n             */\n\n            // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#concept-command\n            switch (nodeName) {\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element\n                case 'menu':\n                    item = {name: $node.attr('label'), items: {}};\n                    counter = menuChildren(item.items, $node.children(), counter);\n                    break;\n\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-a-element-to-define-a-command\n                case 'a':\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-button-element-to-define-a-command\n                case 'button':\n                    item = {\n                        name: $node.text(),\n                        disabled: !!$node.attr('disabled'),\n                        callback: (function () {\n                            return function (itemKey, opt, ev) {\n                                if ($node.get(0).onclick !== null) {\n                                    $node.get(0).click();\n                                } else {\n                                    opt.callback(itemKey, opt, ev);\n                                }\n                            };\n                        })()\n                    };\n                    break;\n\n                // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-command-element-to-define-a-command\n                case 'menuitem':\n                case 'command':\n                    switch ($node.attr('type')) {\n                        case undefined:\n                        case 'command':\n                        case 'menuitem':\n                            item = {\n                                name: $node.attr('label'),\n                                disabled: !!$node.attr('disabled'),\n                                icon: $node.attr('icon'),\n                                callback: (function () {\n                                    return function (itemKey, opt, ev) {\n                                        if ($node.get(0).onclick !== null) {\n                                            $node.get(0).click();\n                                        } else {\n                                            opt.callback(itemKey, opt, ev);\n                                        }\n                                    };\n                                })()\n                            };\n                            break;\n\n                        case 'checkbox':\n                            item = {\n                                type: 'checkbox',\n                                disabled: !!$node.attr('disabled'),\n                                name: $node.attr('label'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n                        case 'radio':\n                            item = {\n                                type: 'radio',\n                                disabled: !!$node.attr('disabled'),\n                                name: $node.attr('label'),\n                                radio: $node.attr('radiogroup'),\n                                value: $node.attr('id'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        default:\n                            item = undefined;\n                    }\n                    break;\n\n                case 'hr':\n                    item = '-------';\n                    break;\n\n                case 'input':\n                    switch ($node.attr('type')) {\n                        case 'text':\n                            item = {\n                                type: 'text',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                value: $node.val()\n                            };\n                            break;\n\n                        case 'checkbox':\n                            item = {\n                                type: 'checkbox',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        case 'radio':\n                            item = {\n                                type: 'radio',\n                                name: label || inputLabel(node),\n                                disabled: !!$node.attr('disabled'),\n                                radio: !!$node.attr('name'),\n                                value: $node.val(),\n                                selected: !!$node.attr('checked')\n                            };\n                            break;\n\n                        default:\n                            item = undefined;\n                            break;\n                    }\n                    break;\n\n                case 'select':\n                    item = {\n                        type: 'select',\n                        name: label || inputLabel(node),\n                        disabled: !!$node.attr('disabled'),\n                        selected: $node.val(),\n                        options: {}\n                    };\n                    $node.children().each(function () {\n                        item.options[this.value] = $(this).text();\n                    });\n                    break;\n\n                case 'textarea':\n                    item = {\n                        type: 'textarea',\n                        name: label || inputLabel(node),\n                        disabled: !!$node.attr('disabled'),\n                        value: $node.val()\n                    };\n                    break;\n\n                case 'label':\n                    break;\n\n                default:\n                    item = {type: 'html', html: $node.clone(true)};\n                    break;\n            }\n\n            if (item) {\n                counter++;\n                items['key' + counter] = item;\n            }\n        });\n\n        return counter;\n    }\n\n// convert html5 menu\n    $.contextMenu.fromMenu = function (element) {\n        var $this = $(element),\n            items = {};\n\n        menuChildren(items, $this.children());\n\n        return items;\n    };\n\n// make defaults accessible\n    $.contextMenu.defaults = defaults;\n    $.contextMenu.types = types;\n// export internal functions - undocumented, for hacking only!\n    $.contextMenu.handle = handle;\n    $.contextMenu.op = op;\n    $.contextMenu.menus = menus;\n\n});\n"
  },
  {
    "path": "src/jquery.ui.position.js",
    "content": "/*! jQuery UI - v1.12.0 - 2016-07-15\n * http://jqueryui.com\n * Includes: position.js\n * Copyright jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n\n\t$.ui = $.ui || {};\n\n\tvar version = $.ui.version = \"1.12.0\";\n\n\n\t/*!\n\t * jQuery UI Position 1.12.0\n\t * http://jqueryui.com\n\t *\n\t * Copyright jQuery Foundation and other contributors\n\t * Released under the MIT license.\n\t * http://jquery.org/license\n\t *\n\t * http://api.jqueryui.com/position/\n\t */\n\n//>>label: Position\n//>>group: Core\n//>>description: Positions elements relative to other elements.\n//>>docs: http://api.jqueryui.com/position/\n//>>demos: http://jqueryui.com/position/\n\n\n\t( function() {\n\t\tvar cachedScrollbarWidth, supportsOffsetFractions,\n\t\t\tmax = Math.max,\n\t\t\tabs = Math.abs,\n\t\t\tround = Math.round,\n\t\t\trhorizontal = /left|center|right/,\n\t\t\trvertical = /top|center|bottom/,\n\t\t\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\t\t\trposition = /^\\w+/,\n\t\t\trpercent = /%$/,\n\t\t\t_position = $.fn.position;\n\n// Support: IE <=9 only\n\t\tsupportsOffsetFractions = function() {\n\t\t\tvar element = $( \"<div>\" )\n\t\t\t\t\t.css( \"position\", \"absolute\" )\n\t\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t\t.offset( {\n\t\t\t\t\t\ttop: 1.5,\n\t\t\t\t\t\tleft: 1.5\n\t\t\t\t\t} ),\n\t\t\t\tsupport = element.offset().top === 1.5;\n\n\t\t\telement.remove();\n\n\t\t\tsupportsOffsetFractions = function() {\n\t\t\t\treturn support;\n\t\t\t};\n\n\t\t\treturn support;\n\t\t};\n\n\t\tfunction getOffsets( offsets, width, height ) {\n\t\t\treturn [\n\t\t\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\t\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t\t\t];\n\t\t}\n\n\t\tfunction parseCss( element, property ) {\n\t\t\treturn parseInt( $.css( element, property ), 10 ) || 0;\n\t\t}\n\n\t\tfunction getDimensions( elem ) {\n\t\t\tvar raw = elem[ 0 ];\n\t\t\tif ( raw.nodeType === 9 ) {\n\t\t\t\treturn {\n\t\t\t\t\twidth: elem.width(),\n\t\t\t\t\theight: elem.height(),\n\t\t\t\t\toffset: { top: 0, left: 0 }\n\t\t\t\t};\n\t\t\t}\n\t\t\tif ( $.isWindow( raw ) ) {\n\t\t\t\treturn {\n\t\t\t\t\twidth: elem.width(),\n\t\t\t\t\theight: elem.height(),\n\t\t\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t\t\t};\n\t\t\t}\n\t\t\tif ( raw.preventDefault ) {\n\t\t\t\treturn {\n\t\t\t\t\twidth: 0,\n\t\t\t\t\theight: 0,\n\t\t\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\twidth: elem.outerWidth(),\n\t\t\t\theight: elem.outerHeight(),\n\t\t\t\toffset: elem.offset()\n\t\t\t};\n\t\t}\n\n\t\t$.position = {\n\t\t\tscrollbarWidth: function() {\n\t\t\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\t\t\treturn cachedScrollbarWidth;\n\t\t\t\t}\n\t\t\t\tvar w1, w2,\n\t\t\t\t\tdiv = $( \"<div \" +\n\t\t\t\t\t\t\"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>\" +\n\t\t\t\t\t\t\"<div style='height:100px;width:auto;'></div></div>\" ),\n\t\t\t\t\tinnerDiv = div.children()[ 0 ];\n\n\t\t\t\t$( \"body\" ).append( div );\n\t\t\t\tw1 = innerDiv.offsetWidth;\n\t\t\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\t\t\tw2 = innerDiv.offsetWidth;\n\n\t\t\t\tif ( w1 === w2 ) {\n\t\t\t\t\tw2 = div[ 0 ].clientWidth;\n\t\t\t\t}\n\n\t\t\t\tdiv.remove();\n\n\t\t\t\treturn ( cachedScrollbarWidth = w1 - w2 );\n\t\t\t},\n\t\t\tgetScrollInfo: function( within ) {\n\t\t\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t\t\t( overflowX === \"auto\" && within.width < within.element[ 0 ].scrollWidth ),\n\t\t\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t\t\t( overflowY === \"auto\" && within.height < within.element[ 0 ].scrollHeight );\n\t\t\t\treturn {\n\t\t\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t\t\t};\n\t\t\t},\n\t\t\tgetWithinInfo: function( element ) {\n\t\t\t\tvar withinElement = $( element || window ),\n\t\t\t\t\tisWindow = $.isWindow( withinElement[ 0 ] ),\n\t\t\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,\n\t\t\t\t\thasOffset = !isWindow && !isDocument;\n\t\t\t\treturn {\n\t\t\t\t\telement: withinElement,\n\t\t\t\t\tisWindow: isWindow,\n\t\t\t\t\tisDocument: isDocument,\n\t\t\t\t\toffset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },\n\t\t\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\t\t\tscrollTop: withinElement.scrollTop(),\n\t\t\t\t\twidth: withinElement.outerWidth(),\n\t\t\t\t\theight: withinElement.outerHeight()\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t$.fn.position = function( options ) {\n\t\t\tif ( !options || !options.of ) {\n\t\t\t\treturn _position.apply( this, arguments );\n\t\t\t}\n\n\t\t\t// Make a copy, we don't want to modify arguments\n\t\t\toptions = $.extend( {}, options );\n\n\t\t\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\t\t\ttarget = $( options.of ),\n\t\t\t\twithin = $.position.getWithinInfo( options.within ),\n\t\t\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\t\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\t\t\toffsets = {};\n\n\t\t\tdimensions = getDimensions( target );\n\t\t\tif ( target[ 0 ].preventDefault ) {\n\n\t\t\t\t// Force left top to allow flipping\n\t\t\t\toptions.at = \"left top\";\n\t\t\t}\n\t\t\ttargetWidth = dimensions.width;\n\t\t\ttargetHeight = dimensions.height;\n\t\t\ttargetOffset = dimensions.offset;\n\n\t\t\t// Clone to reuse original targetOffset later\n\t\t\tbasePosition = $.extend( {}, targetOffset );\n\n\t\t\t// Force my and at to have valid horizontal and vertical positions\n\t\t\t// if a value is missing or invalid, it will be converted to center\n\t\t\t$.each( [ \"my\", \"at\" ], function() {\n\t\t\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\t\t\thorizontalOffset,\n\t\t\t\t\tverticalOffset;\n\n\t\t\t\tif ( pos.length === 1 ) {\n\t\t\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t\t\t}\n\t\t\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\t\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t\t\t// Calculate offsets\n\t\t\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\t\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\t\t\toffsets[ this ] = [\n\t\t\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t\t\t];\n\n\t\t\t\t// Reduce to just the positions without the offsets\n\t\t\t\toptions[ this ] = [\n\t\t\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t\t\t];\n\t\t\t} );\n\n\t\t\t// Normalize collision option\n\t\t\tif ( collision.length === 1 ) {\n\t\t\t\tcollision[ 1 ] = collision[ 0 ];\n\t\t\t}\n\n\t\t\tif ( options.at[ 0 ] === \"right\" ) {\n\t\t\t\tbasePosition.left += targetWidth;\n\t\t\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\t\t\tbasePosition.left += targetWidth / 2;\n\t\t\t}\n\n\t\t\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\t\t\tbasePosition.top += targetHeight;\n\t\t\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\t\t\tbasePosition.top += targetHeight / 2;\n\t\t\t}\n\n\t\t\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\t\t\tbasePosition.left += atOffset[ 0 ];\n\t\t\tbasePosition.top += atOffset[ 1 ];\n\n\t\t\treturn this.each( function() {\n\t\t\t\tvar collisionPosition, using,\n\t\t\t\t\telem = $( this ),\n\t\t\t\t\telemWidth = elem.outerWidth(),\n\t\t\t\t\telemHeight = elem.outerHeight(),\n\t\t\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) +\n\t\t\t\t\t\tscrollInfo.width,\n\t\t\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) +\n\t\t\t\t\t\tscrollInfo.height,\n\t\t\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\t\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\t\t\tposition.left -= elemWidth;\n\t\t\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\t\t\tposition.left -= elemWidth / 2;\n\t\t\t\t}\n\n\t\t\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\t\t\tposition.top -= elemHeight;\n\t\t\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\t\t\tposition.top -= elemHeight / 2;\n\t\t\t\t}\n\n\t\t\t\tposition.left += myOffset[ 0 ];\n\t\t\t\tposition.top += myOffset[ 1 ];\n\n\t\t\t\t// If the browser doesn't support fractions, then round for consistent results\n\t\t\t\tif ( !supportsOffsetFractions() ) {\n\t\t\t\t\tposition.left = round( position.left );\n\t\t\t\t\tposition.top = round( position.top );\n\t\t\t\t}\n\n\t\t\t\tcollisionPosition = {\n\t\t\t\t\tmarginLeft: marginLeft,\n\t\t\t\t\tmarginTop: marginTop\n\t\t\t\t};\n\n\t\t\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\t\t\tmy: options.my,\n\t\t\t\t\t\t\tat: options.at,\n\t\t\t\t\t\t\twithin: within,\n\t\t\t\t\t\t\telem: elem\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tif ( options.using ) {\n\n\t\t\t\t\t// Adds feedback as second argument to using callback, if present\n\t\t\t\t\tusing = function( props ) {\n\t\t\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\t\t\tfeedback = {\n\t\t\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\telem.offset( $.extend( position, { using: using } ) );\n\t\t\t} );\n\t\t};\n\n\t\t$.ui.position = {\n\t\t\tfit: {\n\t\t\t\tleft: function( position, data ) {\n\t\t\t\t\tvar within = data.within,\n\t\t\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\t\t\touterWidth = within.width,\n\t\t\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\t\t\tnewOverRight;\n\n\t\t\t\t\t// Element is wider than within\n\t\t\t\t\tif ( data.collisionWidth > outerWidth ) {\n\n\t\t\t\t\t\t// Element is initially over the left side of within\n\t\t\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth -\n\t\t\t\t\t\t\t\twithinOffset;\n\t\t\t\t\t\t\tposition.left += overLeft - newOverRight;\n\n\t\t\t\t\t\t\t// Element is initially over right side of within\n\t\t\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\t\t\tposition.left = withinOffset;\n\n\t\t\t\t\t\t\t// Element is initially over both left and right sides of within\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Too far left -> align with left edge\n\t\t\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\t\t\tposition.left += overLeft;\n\n\t\t\t\t\t\t// Too far right -> align with right edge\n\t\t\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\t\t\tposition.left -= overRight;\n\n\t\t\t\t\t\t// Adjust based on position and margin\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttop: function( position, data ) {\n\t\t\t\t\tvar within = data.within,\n\t\t\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\t\t\touterHeight = data.within.height,\n\t\t\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\t\t\tnewOverBottom;\n\n\t\t\t\t\t// Element is taller than within\n\t\t\t\t\tif ( data.collisionHeight > outerHeight ) {\n\n\t\t\t\t\t\t// Element is initially over the top of within\n\t\t\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight -\n\t\t\t\t\t\t\t\twithinOffset;\n\t\t\t\t\t\t\tposition.top += overTop - newOverBottom;\n\n\t\t\t\t\t\t\t// Element is initially over bottom of within\n\t\t\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\t\t\tposition.top = withinOffset;\n\n\t\t\t\t\t\t\t// Element is initially over both top and bottom of within\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Too far up -> align with top\n\t\t\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\t\t\tposition.top += overTop;\n\n\t\t\t\t\t\t// Too far down -> align with bottom edge\n\t\t\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\t\t\tposition.top -= overBottom;\n\n\t\t\t\t\t\t// Adjust based on position and margin\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tflip: {\n\t\t\t\tleft: function( position, data ) {\n\t\t\t\t\tvar within = data.within,\n\t\t\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\t\t\touterWidth = within.width,\n\t\t\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\t\t\tnewOverRight,\n\t\t\t\t\t\tnewOverLeft;\n\n\t\t\t\t\tif ( overLeft < 0 ) {\n\t\t\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -\n\t\t\t\t\t\t\touterWidth - withinOffset;\n\t\t\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +\n\t\t\t\t\t\t\tatOffset + offset - offsetLeft;\n\t\t\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttop: function( position, data ) {\n\t\t\t\t\tvar within = data.within,\n\t\t\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\t\t\touterHeight = within.height,\n\t\t\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\t\t\tmyOffset = top ?\n\t\t\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\t\t\tnewOverTop,\n\t\t\t\t\t\tnewOverBottom;\n\t\t\t\t\tif ( overTop < 0 ) {\n\t\t\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -\n\t\t\t\t\t\t\touterHeight - withinOffset;\n\t\t\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +\n\t\t\t\t\t\t\toffset - offsetTop;\n\t\t\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tflipfit: {\n\t\t\t\tleft: function() {\n\t\t\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t\t\t},\n\t\t\t\ttop: function() {\n\t\t\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t} )();\n\n\tvar position = $.ui.position;\n\n\n\n\n}));"
  },
  {
    "path": "src/sass/_icons.scss",
    "content": "\n.context-menu-icon-add {\n  @include context-menu-item-icon(add);\n}\n.context-menu-icon-copy {\n  @include context-menu-item-icon(copy);\n}\n.context-menu-icon-cut {\n  @include context-menu-item-icon(cut);\n}\n.context-menu-icon-delete {\n  @include context-menu-item-icon(delete);\n}\n.context-menu-icon-edit {\n  @include context-menu-item-icon(edit);\n}\n.context-menu-icon-loading {\n  @include context-menu-item-icon(loading);\n}\n.context-menu-icon-paste {\n  @include context-menu-item-icon(paste);\n}\n.context-menu-icon-quit {\n  @include context-menu-item-icon(quit);\n}"
  },
  {
    "path": "src/sass/_variables.scss",
    "content": "// Container Sizing\n$context-menu-min-width: 13em !default;\n$context-menu-max-width: $context-menu-min-width * 2 !default;\n$context-menu-container-padding: .25em 0 !default;\n$context-menu-container-margin: .3em !default;\n$context-menu-border-radius: .2em !default;\n\n// Container Font\n$context-menu-font-family: inherit !default;\n$context-menu-font-size: inherit !default;\n\n// Container Color\n$context-menu-background-color: #FFF !default;\n$context-menu-border-width: 1px !default;\n$context-menu-border-style: solid !default;\n$context-menu-border-color: #bebebe !default;\n$context-menu-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5) !default;\n\n// Item Sizing\n$context-menu-padding-vertical: .2em !default;\n$context-menu-padding-horizontal: 2em !default;\n// Item Default\n$context-menu-item-padding: $context-menu-padding-vertical $context-menu-padding-horizontal !default;\n$context-menu-text-color: #2F2F2F !default;\n$context-menu-item-color: $context-menu-background-color !default;\n\n// Item Hover\n$context-menu-item-color-hover: #2980B9 !default;\n$context-menu-text-color-hover: #FFF !default;\n\n// Item Disabled\n$context-menu-item-color-disabled: $context-menu-background-color !default;\n$context-menu-text-color-disabled: lighten($context-menu-text-color, 55) !default;\n\n// Submenu\n$context-menu-submenu-arrow-color: $context-menu-text-color !default;\n\n// Separator\n$context-menu-separator-height: 1px !default;\n$context-menu-separator-style: solid !default;\n$context-menu-separator-color: darken($context-menu-background-color, 10) !default;\n$context-menu-separator-margin: .35em 0 !default;\n\n// Icons\n$context-menu-icon-font-path: 'font/' !default;\n$context-menu-icon-font-name: 'context-menu-icons' !default;\n$context-menu-icon-size: 1em !default;\n$context-menu-icon-color: #2980B9 !default;\n$context-menu-icon-color-hover: $context-menu-text-color-hover !default;\n\n@keyframes cm-spin {\n  0% {\n    -webkit-transform: translateY(-50%)  rotate(0deg);\n    transform: translateY(-50%) rotate(0deg)\n  }\n  100% {\n    -webkit-transform: translateY(-50%) rotate(359deg);\n    transform: translateY(-50%) rotate(359deg)\n  }\n}\n"
  },
  {
    "path": "src/sass/icons/_icon_classes.scss.tpl",
    "content": "<% _.each(glyphs, function(glyph) { %>\n.<%= className %>-<%= glyph.name %> {\n  @include <%= mixinName %>(<%= glyph.name %>);\n}<% }); %>"
  },
  {
    "path": "src/sass/icons/_mixins.scss",
    "content": "@import \"variables\";\n\n$context-menu-icons: () !default;\n\n@function context-menu-font-url($url) {\n  @if function-exists(asset-url) {\n    @return asset-url($url);\n  } @else if function-exists(font-url) {\n    @return font-url($url);\n  } @else {\n    @return url($url);\n  }\n}\n\n@font-face {\n  font-family: '#{$context-menu-icon-font-name}';\n  src: context-menu-font-url('#{$context-menu-icon-font-path}#{$context-menu-icon-font-name}.eot?#{$context-menu-icons-cachebust}');\n  src: context-menu-font-url('#{$context-menu-icon-font-path}#{$context-menu-icon-font-name}.eot?#{$context-menu-icons-cachebust}#iefix') format('embedded-opentype'),\n  context-menu-font-url('#{$context-menu-icon-font-path}#{$context-menu-icon-font-name}.woff2?#{$context-menu-icons-cachebust}') format('woff2'),\n  context-menu-font-url('#{$context-menu-icon-font-path}#{$context-menu-icon-font-name}.woff?#{$context-menu-icons-cachebust}') format('woff'),\n  context-menu-font-url('#{$context-menu-icon-font-path}#{$context-menu-icon-font-name}.ttf?#{$context-menu-icons-cachebust}') format('truetype');\n  font-weight: normal;\n  font-style: normal;\n}\n\n@mixin context-menu-icon-without-mediaquery($position: before, $icon: false, $icons-font: $context-menu-icon-font-name) {\n  @if not map-has-key($context-menu-icons, $icon) {\n    @error \"Invalid icon `#{$icon}`.\";\n  }\n\n  @if $position == both {\n    $position: 'before, &:after';\n  }\n  // Either a :before or :after pseudo-element, or both, defaulting to :before\n  &:#{$position} {\n    @if $icon {\n      // A particular icon has been specified\n      content: #{\"\\\"\\\\\"}#{map-get($context-menu-icons, $icon) + \"\\\"\"};\n\n    }\n    // Include any extra rules supplied for the pseudo-element\n    @content;\n  }\n}\n\n@mixin context-menu-icon-screen-only($position: before, $icon: false, $icons-font: $context-menu-icon-font-name) {\n  @media screen {\n    @include context-menu-icon-without-mediaquery($position, $icon, $icons-font) {\n      @content;\n    }\n  }\n}\n\n// For adding font icons to elements using CSS pseudo-elements\n// http://jaydenseric.com/blog/fun-with-sass-and-font-icons\n@mixin context-menu-icon($position: before, $icon: false, $icons-font: $context-menu-icon-font-name, $screen-only: false) {\n  @if $screen-only {\n    @include context-menu-icon-screen-only($position, $icon, $icons-font) {\n      @content;\n    }\n  } @else {\n    @include context-menu-icon-without-mediaquery($position, $icon, $icons-font) {\n      @content;\n    }\n  }\n}\n\n@mixin base-context-menu-icon($icon-font: \"context-menu-icons\") {\n  &::before {\n    color: $context-menu-icon-color;\n    font-family: $icon-font;\n    font-style: normal;\n    font-weight: normal;\n    font-size: $context-menu-icon-size;\n    left: 0;\n    line-height: 1;\n    position: absolute;\n    text-align: center;\n    top: 50%;\n    transform: translateY(-50%);\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n    width: 2em;\n  }\n}\n\n@mixin context-menu-item-icon($icon: false) {\n  @include context-menu-icon(before, $icon);\n}\n"
  },
  {
    "path": "src/sass/icons/_variables.scss",
    "content": "// DON'T MANUALLY EDIT THIS FILE; run `gulp build-icons` instead.\n$context-menu-icons-cachebust: \"2dq4x\";\n$context-menu-icons: (\nadd: \"EA01\",\ncopy: \"EA02\",\ncut: \"EA03\",\ndelete: \"EA04\",\nedit: \"EA05\",\nloading: \"EA06\",\npaste: \"EA07\",\nquit: \"EA08\",\n);"
  },
  {
    "path": "src/sass/icons/_variables.scss.tpl",
    "content": "// DON'T MANUALLY EDIT THIS FILE; run `gulp build-icons` instead.\n$context-menu-icons-cachebust: \"<%= (0|Math.random()*9e6).toString(36) %>\";\n$context-menu-icons: (<% _.each(glyphs, function(glyph) { %>\n<%= glyph.name %>: \"<%= glyph.unicode[0].charCodeAt(0).toString(16).toUpperCase() %>\",<% }); %>\n);"
  },
  {
    "path": "src/sass/jquery.contextMenu.scss",
    "content": "/*!\n * jQuery contextMenu - Plugin for simple contextMenu handling\n *\n * Version: v@VERSION\n *\n * Authors: Björn Brala (SWIS.nl), Rodney Rehm, Addy Osmani (patches for FF)\n * Web: http://swisnl.github.io/jQuery-contextMenu/\n *\n * Copyright (c) 2011-@YEAR SWIS BV and contributors\n *\n * Licensed under\n *   MIT License http://www.opensource.org/licenses/mit-license\n *\n * Date: @DATE\n */\n@import \"variables\";\n@import \"icons/mixins\";\n@import \"icons\";\n\n.context-menu-icon {\n  @include base-context-menu-icon;\n\n  &.context-menu-hover:before {\n    color: $context-menu-icon-color-hover;\n  }\n  &.context-menu-disabled::before {\n    color: $context-menu-text-color-disabled;\n  }\n\n  &.context-menu-icon-loading:before {\n    animation: cm-spin 2s infinite;\n  }\n\n  &.context-menu-icon--fa {\n    display: list-item;\n    font-family: inherit;\n    line-height: inherit;\n\n    @include base-context-menu-icon(FontAwesome);\n\n    &.context-menu-hover:before {\n      color: $context-menu-icon-color-hover;\n    }\n    &.context-menu-disabled::before {\n      color: $context-menu-text-color-disabled;\n    }\n  }\n\n  &.context-menu-icon--fa5 {\n    display: list-item;\n    font-family: inherit;\n    line-height: inherit;\n\n    i, svg {\n      color: $context-menu-icon-color;\n      left: 0.5em;\n      position: absolute;\n      top: 0.3em;\n    }\n\n    &.context-menu-hover {\n      > i, > svg {\n        color: $context-menu-icon-color-hover;\n      }\n    }\n    &.context-menu-disabled {\n      i, svg {\n          color: $context-menu-text-color-disabled;\n      }\n    }\n  }\n}\n\n.context-menu-list {\n  background: $context-menu-background-color;\n  border: $context-menu-border-width $context-menu-border-style $context-menu-border-color;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-box-shadow;\n  display: inline-block;\n  font-family: $context-menu-font-family;\n  font-size: $context-menu-font-size;\n  list-style-type: none;\n  margin: $context-menu-container-margin;\n  max-width: $context-menu-max-width;\n  min-width: $context-menu-min-width;\n  padding: $context-menu-container-padding;\n  position: absolute;\n}\n\n.context-menu-item {\n  background-color: $context-menu-background-color;\n  box-sizing: content-box;\n  color: $context-menu-text-color;\n  padding: $context-menu-item-padding;\n  position: relative;\n  user-select: none;\n}\n\n.context-menu-separator {\n  border-bottom: $context-menu-separator-height $context-menu-separator-style $context-menu-separator-color;\n  margin: $context-menu-separator-margin;\n  padding: 0;\n}\n\n.context-menu-item > label > input,\n.context-menu-item > label > textarea {\n  user-select: text;\n}\n\n.context-menu-item.context-menu-hover {\n  background-color: $context-menu-item-color-hover;\n  color: $context-menu-text-color-hover;\n  cursor: pointer;\n}\n\n.context-menu-item.context-menu-disabled {\n  background-color: $context-menu-item-color-disabled;\n  color: $context-menu-text-color-disabled;\n  cursor: default;\n}\n\n.context-menu-input.context-menu-hover {\n  cursor: default;\n  color: $context-menu-text-color;\n}\n\n.context-menu-submenu:after {\n  content: '';\n  border-style: solid;\n  border-width: .25em 0 .25em .25em;\n  border-color: transparent transparent transparent $context-menu-submenu-arrow-color;\n  height: 0;\n  position: absolute;\n  right: .5em;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 0;\n  z-index: 1;\n}\n\n/**\n * Inputs\n */\n.context-menu-item.context-menu-input {\n  padding: .3em .6em;\n}\n\n/* vertically align inside labels */\n.context-menu-input > label > * {\n  vertical-align: top;\n}\n\n/* position checkboxes and radios as icons */\n.context-menu-input > label > input[type=\"checkbox\"],\n.context-menu-input > label > input[type=\"radio\"] {\n  margin-right: .4em;\n  position: relative;\n  top: .12em;\n}\n\n.context-menu-input > label {\n  margin: 0;\n}\n\n.context-menu-input > label,\n.context-menu-input > label > input[type=\"text\"],\n.context-menu-input > label > textarea,\n.context-menu-input > label > select {\n  box-sizing: border-box;\n  display: block;\n  width: 100%;\n}\n\n.context-menu-input > label > textarea {\n  height: 7em;\n}\n\n.context-menu-item > .context-menu-list {\n  display: none;\n  /* re-positioned by js */\n  right: -.3em;\n  top: .3em;\n}\n\n.context-menu-item.context-menu-visible > .context-menu-list {\n  display: block;\n}\n\n.context-menu-accesskey {\n  text-decoration: underline;\n}\n"
  },
  {
    "path": "test/index.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <title>QUnit Test Suite</title>\n    <link rel=\"stylesheet\" href=\"../node_modules/qunitjs/qunit/qunit.css\" type=\"text/css\" media=\"screen\">\n    <script type=\"text/javascript\" src=\"../node_modules/qunitjs/qunit/qunit.js\"></script>\n\n    <!-- Your project file goes here -->\n    <link rel=\"stylesheet\" href=\"../src/jquery.contextMenu.css\" type=\"text/css\" media=\"screen\">\n    <script src=\"../node_modules/jquery/dist/jquery.js\"></script>\n\n    <script type=\"text/javascript\" src=\"../src/jquery.ui.position.js\"></script>\n\n    <script type=\"text/javascript\" src=\"../src/jquery.contextMenu.js\"></script>\n\n\n    <!-- Your tests file goes here -->\n    <script type=\"text/javascript\" src=\"unit/contextmenu.test.js\"></script>\n    <script type=\"text/javascript\" src=\"unit/test-events.click.js\"></script>\n</head>\n<body>\n    <div id=\"qunit\"></div>\n    <div id=\"qunit-fixture\"></div>\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/custom-command.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\n// this test uses custom HTML because PhantomJS\n// has problems showing alert modal dialogs.\n// We are testing callbacks against simple DOM\n// manipulations instead.\nmodule.exports = {\n  'Click custom comand menu item triggers menu callback': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/custom-command_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.numberOfElements('.context-menu-root>li')\n        .is(3, '3 context menu items are shown')\n      .click('.context-menu-root li.labels')\n      .assert.text('#msg').to.contain('clicked: label', 'contextMenu callback was triggered')\n      .done();\n  },\n\n  'Click custom comand menu item label triggers custom action - red': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/custom-command_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li.labels .label1')\n      .assert.text('#msg', 'clicked: label | text: label 1', 'custom action was triggered')\n      .done();\n  },\n\n  'Click custom comand menu item label triggers custom action - blue': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/custom-command_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li.labels .label3')\n      .assert.text('#msg', 'clicked: label | text: label 3', 'custom action was triggered')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/disabled-callback.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\n// this test uses custom HTML because PhantomJS\n// has problems showing alert modal dialogs.\n// We are testing callbacks against simple DOM\n// manipulations instead.\nmodule.exports = {\n  'Clicking on disabled item has no effect': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-callback_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.numberOfElements('.context-menu-root li')\n        .is(2, '2 context menu items are shown')\n      .click('.context-menu-root li:last-child')\n      .assert.text('#msg', '', 'Disabled menu item didnt set text')\n      .done();\n  },\n\n  'Clicking on enabled item works': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li:first-child')\n      .assert.text('#msg', 'clicked: edit', 'Enabled menu item sets text')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/disabled-changing.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\n// this test uses custom HTML because PhantomJS\n// has problems showing alert modal dialogs.\n// We are testing callbacks against simple DOM\n// manipulations instead.\nmodule.exports = {\n  'Clicking on disabled item has no effect': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-changing_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.numberOfElements('.context-menu-root li')\n        .is(3, '3 context menu items are shown')\n      .click('.context-menu-root li:nth-child(2)')\n      .assert.text('#msg', '', 'Disabled menu item didnt set text')\n      .done();\n  },\n\n  'Toggle disabled item status': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-changing_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li:nth-child(3)')\n      .assert.doesntExist('.context-menu-root .disabled', 'All menu items are enabled')\n      .click('.context-menu-root li:nth-child(2)')\n      .assert.text('#msg', 'clicked: cut', 'Enabled menu item sets text')\n      .done();\n  },\n\n  'Toggled status is saved after menu is closed': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-changing_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li:nth-child(3)')\n      .assert.doesntExist('.context-menu-root .disabled', 'All menu items are enabled')\n      .execute(helper.closeMenu, '.context-menu-one')\n      .wait(100)\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.doesntExist('.context-menu-root .disabled', 'All menu items are still enabled')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/disabled-menu.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Disabled trigger doesnt open context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-menu.html')\n      .assert.numberOfElements('.context-menu-one')\n        .is(1, 'Context menu trigger is disabled')\n      .execute(helper.rightClick, '.context-menu-one')\n      .wait(100)\n      .assert.notVisible('.context-menu-root', 'Menu is not present')\n      .assert.doesntExist('#context-menu-layer', 'Context menu is not shown')\n      .done();\n  },\n\n  'Enabled trigger opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-menu.html')\n      .click('#toggle-disabled')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .$('.context-menu-root')\n        .assert.visible('Menu is present')\n        .assert.exists('It opens context menu')\n      .end()\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.width('.context-menu-root').is.gt(100)\n      .done();\n  },\n\n  'Repeatedly disabled trigger doesnt open context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled-menu.html')\n      .assert.numberOfElements('.context-menu-one')\n        .is(1, 'Context menu trigger is disabled')\n      .execute(helper.rightClick, '.context-menu-one')\n      .wait(100)\n      .assert.notVisible('.context-menu-root', 'Menu is not present')\n      .assert.doesntExist('#context-menu-layer', 'Context menu is not shown')\n      .click('#toggle-disabled')\n      .assert.doesntExist('.context-menu-disabled', 'Context menu trigger is enambled')\n      .click('#toggle-disabled')\n      .assert.numberOfElements('.context-menu-one')\n        .is(1, 'Context menu trigger is disabled again')\n      .execute(helper.rightClick, '.context-menu-one')\n      .wait(100)\n      .assert.notVisible('.context-menu-root', 'Menu is not present')\n      .assert.doesntExist('#context-menu-layer', 'Context menu is not shown')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/disabled.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\n// this test uses custom HTML because PhantomJS\n// has problems showing alert modal dialogs.\n// We are testing callbacks against simple DOM\n// manipulations instead.\nmodule.exports = {\n  'Clicking on disabled item has no effect': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.numberOfElements('.context-menu-root li')\n        .is(2, '2 context menu items are shown')\n      .click('.context-menu-root li:last-child')\n      .assert.text('#msg', '', 'Disabled menu item didnt set text')\n      .done();\n  },\n\n  'Clicking on enabled item works': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/disabled_test.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .click('.context-menu-root li:first-child')\n      .assert.text('#msg', 'clicked: edit', 'Enabled menu item sets text')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/dynamic-create.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Dynamically created context menu is shown': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/dynamic-create.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/dynamic.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Dynamically created <DIV> opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/dynamic.html')\n      .click('#add-trigger')\n      .waitForElement('.menu-injected')\n      .execute(helper.rightClick, '.menu-injected')\n      .waitForElement('#context-menu-layer')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.numberOfElements('.context-menu-active')\n        .is(1, 'ensure one context menu is open')\n      .done();\n  },\n\n  '3rd dynamically created <DIV> also opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/dynamic.html')\n      .click('#add-trigger')\n      .click('#add-trigger')\n      .click('#add-trigger')\n      .wait(200)\n      //.waitForElement('.menu-injected')\n      .assert.numberOfElements('.menu-injected')\n        .is(3, '3 DIVs are added')\n      .execute(helper.rightClick, '.menu-injected:last-of-type')\n      .waitForElement('#context-menu-layer')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.numberOfElements('.context-menu-active')\n        .is(1, 'ensure one context menu is open')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/html/accesskeys.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-accesskeys\">Demo: Accesskeys</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\", accesskey: \"e\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\", accesskey: \"c\"},\n            // first unused character is taken (here: o)\n            \"copy\": {name: \"Copy\", icon: \"copy\", accesskey: \"c o p y\"},\n            // words are truncated to their first letter (here: p)\n            \"paste\": {name: \"Paste\", icon: \"paste\", accesskey: \"cool paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/accesskeys_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-accesskeys\">Demo: Accesskeys</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-accesskeys\">Demo: Accesskeys</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\", accesskey: \"e\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\", accesskey: \"c\"},\n            // first unused character is taken (here: o)\n            \"copy\": {name: \"Copy\", icon: \"copy\", accesskey: \"c o p y\"},\n            // words are truncated to their first letter (here: p)\n            \"paste\": {name: \"Paste\", icon: \"paste\", accesskey: \"cool paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/async-create.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-create-context-menu-asynchronous\">Demo: Create Context Menu (asynchronous)</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // some build handler to call asynchronously\n    function createSomeMenu() {\n        return {\n            callback: function(key, options) {\n                var m = \"clicked: \" + key;\n                window.console && console.log(m) || alert(m);\n            },\n            items: {\n                \"edit\": {name: \"Edit\", icon: \"edit\"},\n                \"cut\": {name: \"Cut\", icon: \"cut\"},\n                \"copy\": {name: \"Copy\", icon: \"copy\"}\n            }\n        };\n    }\n\n    // some asynchronous click handler\n    $('.context-menu-one').on('mouseup', function(e){\n        var $this = $(this);\n        // store a callback on the trigger\n        $this.data('runCallbackThingie', createSomeMenu);\n        var _offset = $this.offset(),\n            position = {\n                x: _offset.left + 10, \n                y: _offset.top + 10\n            }\n        // open the contextMenu asynchronously\n        setTimeout(function(){ $this.contextMenu(position); }, 1000);\n    });\n\n    // setup context menu\n    $.contextMenu({\n        selector: '.context-menu-one',\n        trigger: 'none',\n        build: function($trigger, e) {\n            e.preventDefault();\n\n            // pull a callback from the trigger\n            return $trigger.data('runCallbackThingie')();\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/callback.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-callback\">Demo: Callback</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"global: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Edit\", \n                icon: \"edit\", \n                // superseeds \"global\" callback\n                callback: function(key, options) {\n                    var m = \"edit was clicked\";\n                    window.console && console.log(m) || alert(m); \n                }\n            },\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/callback_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-callback\">Demo: Callback</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-callback\">Demo: Callback</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"global: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {\n                name: \"Edit\", \n                icon: \"edit\", \n                // superseeds \"global\" callback\n                callback: function(key, options) {\n                    var m = \"edit was clicked\";\n                    $('#msg').text(m); \n                }\n            },\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/custom-command.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-custom-command\">Demo: Custom command</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Custom Command Handler\n     **************************************************/\n    $.contextMenu.types.label = function(item, opt, root) {\n        // this === item.$node\n\n        $('<span>Label<ul>'\n            + '<li class=\"label1\" title=\"label 1\">label 1'\n            + '<li class=\"label2\" title=\"label 2\">label 2'\n            + '<li class=\"label3\" title=\"label 3\">label 3'\n            + '<li class=\"label4\" title=\"label 4\">label 4')\n            .appendTo(this)\n            .on('click', 'li', function() {\n                // do some funky stuff\n                console.log('Clicked on ' + $(this).text());\n                // hide the menu\n                root.$menu.trigger('contextmenu:hide');\n            });\n\n        this.addClass('labels').on('contextmenu:focus', function(e) {\n            // setup some awesome stuff\n        }).on('contextmenu:blur', function(e) {\n            // tear down whatever you did\n        }).on('keydown', function(e) {\n            // some funky key handling, maybe?\n        });\n    };\n\n    /**************************************************\n     * Context-Menu with custom command \"label\"\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            open: {name: \"Open\", callback: $.noop},\n            label: {type: \"label\", customName: \"Label\"},\n            edit: {name: \"Edit\", callback: $.noop}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<style type=\"text/css\" class=\"showcase\">\n    .labels > ul {\n        margin: 0; \n        padding: 0;\n        list-style: none;\n        display: block;\n        float: none;\n    }\n    .labels > ul > li {\n        display: inline-block;\n        width: 20px;\n        height: 20px;\n        border: 1px solid #CCC;\n        overflow: hidden;\n        text-indent: -2000px;\n    }\n    .labels > ul > li.selected,\n    .labels > ul > li:hover { border: 1px solid #000; }\n    .labels > ul > li + li { margin-left: 5px; }\n    .labels > ul > li.label1 { background: red; }\n    .labels > ul > li.label2 { background: green; }\n    .labels > ul > li.label3 { background: blue; }\n    .labels > ul > li.label4 { background: yellow; }\n</style>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/custom-command_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-custom-command\">Demo: Custom command</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-custom-command\">Demo: Custom command</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Custom Command Handler\n     **************************************************/\n    $.contextMenu.types.label = function(item, opt, root) {\n        // this === item.$node\n\n        $('<span>Label<ul>'\n            + '<li class=\"label1\" title=\"label 1\">label 1'\n            + '<li class=\"label2\" title=\"label 2\">label 2'\n            + '<li class=\"label3\" title=\"label 3\">label 3'\n            + '<li class=\"label4\" title=\"label 4\">label 4')\n            .appendTo(this)\n            .on('click', 'li', function() {\n                var message = \"text: \" + $(this).text();      \n                $('#msg').text($('#msg').text() + ' | ' + message);\n\n                // hide the menu\n                root.$menu.trigger('contextmenu:hide');\n            });\n\n        this.addClass('labels').on('contextmenu:focus', function(e) {\n            // setup some awesome stuff\n        }).on('contextmenu:blur', function(e) {\n            // tear down whatever you did\n        }).on('keydown', function(e) {\n            // some funky key handling, maybe?\n        });\n    };\n\n    /**************************************************\n     * Context-Menu with custom command \"label\"\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            open: {name: \"Open\", callback: $.noop},\n            label: {type: \"label\", customName: \"Label\"},\n            edit: {name: \"Edit\", callback: $.noop}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n<style type=\"text/css\" class=\"showcase\">\n    .labels > ul {\n        margin: 0; \n        padding: 0;\n        list-style: none;\n        display: block;\n        float: none;\n    }\n    .labels > ul > li {\n        display: inline-block;\n        width: 20px;\n        height: 20px;\n        border: 1px solid #CCC;\n        overflow: hidden;\n        text-indent: -2000px;\n    }\n    .labels > ul > li.selected,\n    .labels > ul > li:hover { border: 1px solid #000; }\n    .labels > ul > li + li { margin-left: 5px; }\n    .labels > ul > li.label1 { background: red; }\n    .labels > ul > li.label2 { background: green; }\n    .labels > ul > li.label3 { background: blue; }\n    .labels > ul > li.label4 { background: yellow; }\n</style>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled-callback.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-disabled-callback\">Demo: Disabled Callback</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Clickable\", \n                icon: \"edit\", \n                disabled: function(){ return Math.random() >= 0.5; }\n            },\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(){ return Math.random() >= 0.5; }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled-callback_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-disabled-callback\">Demo: Disabled Callback</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-disabled-callback\">Demo: Disabled Callback</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {\n                name: \"Clickable\", \n                icon: \"edit\", \n                disabled: function(){ return false; }\n            },\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(){ return true; }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled-changing.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-disabled-changing\">Demo: Disabled changing</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\"},\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(key, opt) { \n                    // this references the trigger element\n                    return !this.data('cutDisabled'); \n                }\n            },\n            \"toggle\": {\n                name: \"Toggle\", \n                callback: function() {\n                    // this references the trigger element\n                    this.data('cutDisabled', !this.data('cutDisabled'));\n                    return false;\n                }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled-changing_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-disabled-changing\">Demo: Disabled changing</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-disabled-changing\">Demo: Disabled changing</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\"},\n            \"cut\": {\n                name: \"Disabled\", \n                icon: \"cut\", \n                disabled: function(key, opt) { \n                    // this references the trigger element\n                    return !this.data('cutDisabled'); \n                }\n            },\n            \"toggle\": {\n                name: \"Toggle\", \n                callback: function() {\n                    // this references the trigger element\n                    this.data('cutDisabled', !this.data('cutDisabled'));\n                    return false;\n                }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled-menu.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-disabled-menu\">Demo: Disabled menu</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral context-menu-disabled\">right click me</span></p>\n<button type=\"button btn btn-neutral\" id=\"toggle-disabled\">Enable Menu</button>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n\n    $('#toggle-disabled').on('click', function(e) {\n        e.preventDefault();\n        var $this = $(this),\n            $trigger = $('.context-menu-one');\n        if ($trigger.hasClass('context-menu-disabled')) {\n            $this.text(\"Disable Menu\");\n            $trigger.contextMenu(true);\n        } else {\n            $this.text(\"Enable Menu\");\n            $trigger.contextMenu(false);\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-disabled\">Demo: Disabled</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\", disabled: false},\n            \"cut\": {name: \"Disabled\", icon: \"cut\", disabled: true}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/disabled_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-disabled\">Demo: Disabled</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-disabled\">Demo: Disabled</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            \"edit\": {name: \"Clickable\", icon: \"edit\", disabled: false},\n            \"cut\": {name: \"Disabled\", icon: \"cut\", disabled: true}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/dynamic-create.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-adding-new-context-menu-triggers\">Demo: Adding new Context Menu Triggers</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        build: function($trigger, e) {\n            // this callback is executed every time the menu is to be shown\n            // its results are destroyed every time the menu is hidden\n            // e is the original contextmenu event, containing e.pageX and e.pageY (amongst other data)\n            return {\n                callback: function(key, options) {\n                    var m = \"clicked: \" + key;\n                    window.console && console.log(m) || alert(m); \n                },\n                items: {\n                    \"edit\": {name: \"Edit\", icon: \"edit\"},\n                    \"cut\": {name: \"Cut\", icon: \"cut\"},\n                    \"copy\": {name: \"Copy\", icon: \"copy\"},\n                    \"paste\": {name: \"Paste\", icon: \"paste\"},\n                    \"delete\": {name: \"Delete\", icon: \"delete\"},\n                    \"sep1\": \"---------\",\n                    \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n                }\n            };\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/dynamic.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-adding-new-context-menu-triggers\">Demo: Adding new Context Menu Triggers</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><code>jQuery.contextMenu</code> allows you to define a &lt;menu&gt; before the trigger elements are available.</p>\n<div> \n  <button id=\"add-trigger\" class=\"btn btn-default\" type=\"submit\">Button</button>    \n</div>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // add new trigger\n    $('#add-trigger').on('click', function(e) {\n        $('<div class=\"context-menu-one clear btn btn-neutral menu-injected\">'\n            + 'right click me <em>(injected)'\n            + '<br>').insertBefore(this);\n        // not need for re-initializing $.contextMenu here :)\n    });\n\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/html5-import.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-importing-html5\">Demo: Importing HTML5 <code>&lt;menu type=\"context\"&gt;</code></h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><code>jQuery.contextMenu</code> allows you to import HTML5's <code>&lt;menu&gt;</code> structures to use in older browsers. </p>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        items: $.contextMenu.fromMenu($('#html5menu'))\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<pre><code class=\"language-html\">&lt;menu id=\"html5menu\" style=\"display:none\" class=\"showcase\"&gt;\n  &lt;command label=\"rotate\" icon=\"edit\" onclick=\"alert('rotate')\"&gt;\n  &lt;command label=\"resize\" onclick=\"alert('resize')\"&gt; \n    &lt;command label=\"twitter\" onclick=\"alert('twitter')\"&gt;\n    &lt;hr&gt; \n    &lt;command label=\"facebook\" onclick=\"alert('facebook')\"&gt;\n  &lt;/menu&gt;\n&lt;/menu&gt;</code></pre>\n<menu id=\"html5menu\" type=\"context\" style=\"display:none\"><command label=\"rotate\" icon=\"edit\" onclick=\"alert('rotate')\"><command label=\"resize\" onclick=\"alert('resize')\"><command label=\"twitter\" onclick=\"alert('twitter')\"><hr><command label=\"facebook\" onclick=\"alert('facebook')\"></command></command></command></command></menu>\n<p></menu></p>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/html5-polyfill-firefox8.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-html5-polyfill-firefox\">Demo: HTML5 Polyfill (Firefox)</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\" contextmenu=\"html5firefox8\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu('html5');\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<pre><code class=\"language-html\">&lt;menu id=\"html5firefox8\" type=\"context\" &gt;\n  &lt;menuitem label=\"rotate\" onclick=\"alert('rotate')\" hint=\"I'm a hint\"&gt;&lt;/menuitem&gt;\n  &lt;menuitem label=\"resize\" onclick=\"alert('resize')\"&gt;&lt;/menuitem&gt;\n  &lt;menuitem label=\"disabled\" onclick=\"alert('disabled')\" disabled&gt;&lt;/menuitem&gt;\n  &lt;menu label=\"share\"&gt;\n    &lt;menuitem label=\"twitter\" onclick=\"alert('twitter')\"&gt;&lt;/menuitem&gt;\n    &lt;menuitem label=\"facebook\" onclick=\"alert('facebook')\"&gt;&lt;/menuitem&gt;\n    &lt;hr&gt;\n    &lt;menuitem type=\"checkbox\" label=\"(checkbox) yes or no?\" \n        onclick=\"alert('checkbox: ' + (this.checked ? 'yep!' : 'nope'))\"&gt;&lt;/menuitem&gt;\n    &lt;hr&gt;\n    &lt;menuitem type=\"radio\" label=\"(radio) yes\" radiogroup=\"alpha\" checked \n        onclick=\"alert('radio: yes')\"&gt;&lt;/menuitem&gt;\n    &lt;menuitem type=\"radio\" label=\"(radio) no\" radiogroup=\"alpha\" \n        onclick=\"alert('radio: no')\"&gt;&lt;/menuitem&gt;\n  &lt;/menu&gt;\n&lt;/menu&gt;</code></pre>\n<menu id=\"html5firefox8\" type=\"context\"><menuitem label=\"rotate\" onclick=\"alert('rotate')\" hint=\"I'm a hint\"></menuitem><menuitem label=\"resize\" onclick=\"alert('resize')\"></menuitem><menuitem label=\"disabled\" onclick=\"alert('disabled')\" disabled></menuitem><menu label=\"share\"><menuitem label=\"twitter\" onclick=\"alert('twitter')\"></menuitem><menuitem label=\"facebook\" onclick=\"alert('facebook')\"></menuitem><hr><menuitem type=\"checkbox\" label=\"(checkbox) yes or no?\" onclick=\"alert('checkbox: ' + (this.checked ? 'yep!' : 'nope'))\"></menuitem><hr><menuitem type=\"radio\" label=\"(radio) yes\" radiogroup=\"alpha\" checked onclick=\"alert('radio: yes')\"></menuitem><menuitem type=\"radio\" label=\"(radio) no\" radiogroup=\"alpha\" onclick=\"alert('radio: no')\"></menuitem></menu></menu>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/html5-polyfill.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-html5-polyfill\">Demo: HTML5 Polyfill</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><code>jQuery.contextMenu</code> allows you to import HTML5's &lt;menu&gt; structures to use in older browsers. </p>\n<p><span class=\"context-menu-one btn btn-neutral\" contextmenu=\"html5polyfill\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu('html5');\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<pre><code class=\"language-html\">&lt;menu id=\"html5polyfill\" type=\"context\" style=\"display:none\"&gt;  \n    &lt;command label=\"rotate\" onclick=\"alert('rotate')\" icon=\"images/cut.png\"&gt;\n    &lt;command label=\"resize\" onclick=\"alert('resize')\" icon=\"images/door.png\"&gt;\n    &lt;menu label=\"share\"&gt;\n        &lt;command label=\"twitter\" onclick=\"alert('twitter')\" icon=\"images/page_white_copy.png\"&gt;\n        &lt;hr&gt;\n        &lt;command label=\"facebook\" onclick=\"alert('facebook')\" icon=\"images/page_white_edit.png\"&gt;\n        &lt;hr&gt;\n        &lt;label&gt;foo bar&lt;input type=\"text\" name=\"foo\"&gt;&lt;/label&gt;\n    &lt;/menu&gt;\n&lt;/menu&gt;</code></pre>\n<menu id=\"html5polyfill\" type=\"context\" style=\"display:none\"><command label=\"rotate\" onclick=\"alert('rotate')\" icon=\"images/cut.png\"><command label=\"resize\" onclick=\"alert('resize')\" icon=\"images/door.png\"><menu label=\"share\"><command label=\"twitter\" onclick=\"alert('twitter')\" icon=\"images/page_white_copy.png\"><hr><command label=\"facebook\" onclick=\"alert('facebook')\" icon=\"images/page_white_edit.png\"><hr><label>foo bar<input type=\"text\" name=\"foo\"></label>\n    </command></command></menu></command></command></menu>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/input.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-input-commands\">Demo: Input Commands</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        items: {\n            // <input type=\"text\">\n            name: {\n                name: \"Text\", \n                type: 'text', \n                value: \"Hello World\", \n                events: {\n                    keyup: function(e) {\n                        // add some fancy key handling here?\n                        window.console && console.log('key: '+ e.keyCode); \n                    }\n                }\n            },\n            sep1: \"---------\",\n            // <input type=\"checkbox\">\n            yesno: {\n                name: \"Boolean\", \n                type: 'checkbox', \n                selected: true\n            },\n            sep2: \"---------\",\n            // <input type=\"radio\">\n            radio1: {\n                name: \"Radio1\", \n                type: 'radio', \n                radio: 'radio', \n                value: '1'\n            },\n            radio2: {\n                name: \"Radio2\", \n                type: 'radio', \n                radio: 'radio', \n                value: '2', \n                selected: true\n            },\n            radio3: {\n                name: \"Radio3\", \n                type: 'radio', \n                radio: 'radio', \n                value: '3'\n            },\n            radio4: {\n                name: \"Radio3\", \n                type: 'radio', \n                radio: 'radio', \n                value: '4', \n                disabled: true\n            },\n            sep3: \"---------\",\n            // <select>\n            select: {\n                name: \"Select\", \n                type: 'select', \n                options: {1: 'one', 2: 'two', 3: 'three'}, \n                selected: 2\n            },\n            // <textarea>\n            area1: {\n                name: \"Textarea with height\", \n                type: 'textarea', \n                value: \"Hello World\", \n                height: 40\n            },\n            area2: {\n                name: \"Textarea\", \n                type: 'textarea', \n                value: \"Hello World\"\n            },\n            sep4: \"---------\",\n            key: {\n                name: \"Something Clickable\", \n                callback: $.noop\n            }\n        }, \n        events: {\n            show: function(opt) {\n                // this is the trigger element\n                var $this = this;\n                // import states from data store \n                $.contextMenu.setInputValues(opt, $this.data());\n                // this basically fills the input commands from an object\n                // like {name: \"foo\", yesno: true, radio: \"3\", &hellip;}\n            }, \n            hide: function(opt) {\n                // this is the trigger element\n                var $this = this;\n                // export states to data store\n                $.contextMenu.getInputValues(opt, $this.data());\n                // this basically dumps the input commands' values to an object\n                // like {name: \"foo\", yesno: true, radio: \"3\", &hellip;}\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/keeping-contextmenu-open.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-keeping-the-menu-visible\">Demo: Keeping the Menu visible</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\n                name: \"Closing on Click\", \n                icon: \"edit\", \n                callback: function(){ return true; }\n            },\n            \"cut\": {\n                name: \"Open after Click\", \n                icon: \"cut\", \n                callback: function(){ return false; }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/menu-title.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-menu-title\">Demo: Menu Title</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-css\">Example CSS</a></li>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span>\n<span class=\"context-menu-two btn btn-neutral\">right click me</span>\n<span class=\"context-menu-three btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-css\">Example CSS</h2>\n<style type=\"text/css\" class=\"showcase\">\n    /* menu header */\n    .css-title:before {\n        content: \"some CSS title\";\n        display: block;\n        position: absolute;\n        top: 0;\n        right: 0;\n        left: 0;\n        background: #DDD;\n        padding: 2px;\n\n        font-family: Verdana, Arial, Helvetica, sans-serif;\n        font-size: 11px;\n        font-weight: bold;\n    }\n    .css-title :first-child {\n        margin-top: 20px;\n    }\n\n    /* menu header via data attribute */\n    .data-title:before {\n        content: attr(data-menutitle);\n        display: block;\n        position: absolute;\n        top: 0;\n        right: 0;\n        left: 0;\n        background: #DDD;\n        padding: 2px;\n\n        font-family: Verdana, Arial, Helvetica, sans-serif;\n        font-size: 11px;\n        font-weight: bold;\n    }\n    .data-title :first-child {\n        margin-top: 20px;\n    }\n</style>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // register regular menu\n    $.contextMenu({\n        selector: '.context-menu-one',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n\n    // register menu with title provided by CSS\n    $.contextMenu({\n        selector: '.context-menu-two',\n        className: 'css-title',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n\n    // register menu with title provided by data-attribute\n    $.contextMenu({\n        selector: '.context-menu-three',\n        className: 'data-title',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m);\n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n\n    // set a title\n    $('.data-title').attr('data-menutitle', \"Some JS Title\");\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<pre><code class=\"language-html\">&lt;span class=\"context-menu-one btn btn-neutral\"&gt;right click me&lt;/span&gt;\n\n&lt;span class=\"context-menu-two btn btn-neutral\"&gt;right click me&lt;/span&gt;\n\n&lt;span class=\"context-menu-three btn btn-neutral\"&gt;right click me&lt;/span&gt;</code></pre>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/on-dom-element.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-context-menu-on-dom-element\">Demo: Context Menu on DOM Element</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<ul id=\"the-node\"><li><span class=\"context-menu-one btn btn-neutral\">right click me 1</span></li>\n    <li><span class=\"context-menu-one btn btn-neutral\">right click me 2</span></li>\n    <li>right click me 3</li>\n    <li>right click me 4</li>\n</ul>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $('#the-node').contextMenu({\n        selector: 'li', \n        callback: function(key, options) {\n            var m = \"clicked: \" + key + \" on \" + $(this).text();\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<pre><code class=\"language-html\">&lt;ul id=\"the-node\"&gt;\n    &lt;li&gt;&lt;span class=\"context-menu-one btn btn-neutral\"&gt;right click me 1&lt;/span&gt;&lt;/li&gt;\n    &lt;li&gt;&lt;span class=\"context-menu-one btn btn-neutral\"&gt;right click me 2&lt;/span&gt;&lt;/li&gt;\n    &lt;li&gt;right click me 3&lt;/li&gt;\n    &lt;li&gt;right click me 4&lt;/li&gt;\n&lt;/ul&gt;\n</code></pre>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/sub-menus.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-submenus\">Demo: Submenus</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Context-Menu with Sub-Menu\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one',\n        autoHide: true,\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {\"name\": \"Edit\", \"icon\": \"edit\", disabled: function(){ return Math.random() >= 0.5; }},\n            \"cut\": {\"name\": \"Cut\", \"icon\": \"cut\"},\n            \"sep1\": \"---------\",\n            \"quit\": {\"name\": \"Quit\", \"icon\": \"quit\"},\n            \"sep2\": \"---------\",\n            \"fold1\": {\n                \"name\": \"Sub group\", \n                \"items\": {\n                    \"fold1-key1\": {\"name\": \"Foo bar\"},\n                    \"fold2\": {\n                        \"name\": \"Sub group 2\", \n                        \"items\": {\n                            \"fold2-key1\": {\"name\": \"alpha\", disabled: function(){ return Math.random() >= 0.5; }},\n                            \"fold2-key2\": {\"name\": \"bravo\", visible: function(){ return Math.random() >= 0.5; }},\n                            \"fold2-key3\": {\"name\": \"charlie\"}\n                        }\n                    },\n                    \"fold1-key3\": {\"name\": \"delta\"}\n                }\n            },\n            \"fold1a\": {\n                \"name\": \"Other group\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\", disabled: function(){ return Math.random() >= 0.5; }},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\", visible: function(){ return Math.random() >= 0.5; }},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/sub-menus_test.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#demo-submenus\">Demo: Submenus</a>\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<h1 id=\"demo-submenus\">Demo: Submenus</h1>\n<p><span class=\"context-menu-one btn btn-neutral\">right click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    /**************************************************\n     * Context-Menu with Sub-Menu\n     **************************************************/\n    $.contextMenu({\n        selector: '.context-menu-one', \n        callback: function(key, options) {\n            var message = \"clicked: \" + key;\n            $('#msg').text(message);\n        },\n        items: {\n            \"edit\": {\"name\": \"Edit\", \"icon\": \"edit\"},\n            \"cut\": {\"name\": \"Cut\", \"icon\": \"cut\"},\n            \"sep1\": \"---------\",\n            \"quit\": {\"name\": \"Quit\", \"icon\": \"quit\"},\n            \"sep2\": \"---------\",\n            \"fold1\": {\n                \"name\": \"Sub group\", \n                \"items\": {\n                    \"fold1-key1\": {\"name\": \"Foo bar\"},\n                    \"fold2\": {\n                        \"name\": \"Sub group 2\", \n                        \"items\": {\n                            \"fold2-key1\": {\"name\": \"alpha\"},\n                            \"fold2-key2\": {\"name\": \"bravo\"},\n                            \"fold2-key3\": {\"name\": \"charlie\"}\n                        }\n                    },\n                    \"fold1-key3\": {\"name\": \"delta\"}\n                }\n            },\n            \"fold1a\": {\n                \"name\": \"Other group\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\"},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\"},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n<div id=\"msg\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/trigger-custom.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-custom-activated-context-menu\">Demo: Custom Activated Context Menu</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">press that button</span></p>\n<button id=\"activate-menu\" class=\"btn btn-default\" type=\"submit\">Button</button>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // make button open the menu\n    $('#activate-menu').on('click', function(e) {\n        e.preventDefault();\n        $('.context-menu-one').contextMenu();\n        // or $('.context-menu-one').trigger(\"contextmenu\");\n        // or $('.context-menu-one').contextMenu({x: 100, y: 100});\n    });\n\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'none',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/trigger-hover-autohide.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-hover-activated-context-menu-with-autohide\">Demo: Hover Activated Context Menu With Autohide</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">hover over me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'hover',\n        delay: 500,\n        autoHide: true,\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/trigger-hover.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-hover-activated-context-menu\">Demo: Hover Activated Context Menu</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">hover over me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'hover',\n        delay: 500,\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/trigger-left-click.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-left-click-trigger\">Demo: Left-Click Trigger</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<p><span class=\"context-menu-one btn btn-neutral\">left click me</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'left',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"paste\": {name: \"Paste\", icon: \"paste\"},\n            \"delete\": {name: \"Delete\", icon: \"delete\"},\n            \"sep1\": \"---------\",\n            \"quit\": {name: \"Quit\", icon: function($element, key, item){ return 'context-menu-icon context-menu-icon-quit'; }}\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/html/trigger-swipe.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>jQuery contextMenu</title>\n\n    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic'\n          rel='stylesheet' type='text/css'>\n\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/screen.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"https://swisnl.github.io/jQuery-contextMenu/css/theme-fixes.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/styles/github.min.css\">\n    <link href=\"../../../dist/jquery.contextMenu.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n    <script src=\"../../../src/jquery.contextMenu.js\" type=\"text/javascript\"></script>\n\n    <script src=\"../../../dist/jquery.ui.position.min.js\" type=\"text/javascript\"></script>\n\n    <script src=\"https://swisnl.github.io/jQuery-contextMenu/js/main.js\" type=\"text/javascript\"></script>\n\n    <script type=\"text/javascript\">\n        var _gaq = _gaq || [];\n        _gaq.push(['_setAccount', 'UA-66438984-1']);\n        _gaq.push(['_trackPageview']);\n\n        (function() {\n            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n        })();\n    </script>\n\n</head>\n<body class=\"wy-body-for-nav\">\n\n<div class=\"wy-grid-for-nav\">\n\n\n\n    <nav data-toggle=\"wy-nav-shift\" class=\"wy-nav-side\">\n        <div class=\"wy-side-nav-search\">\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\"> jQuery contextMenu</a>\n        </div>\n\n        <div class=\"wy-menu wy-menu-vertical\" data-spy=\"affix\" role=\"navigation\" aria-label=\"main navigation\">\n            <ul>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu//\">\n                            Introduction\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://www.swis.nl/over-ons/bjorn-brala\">\n                                            Author\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Demo\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 \">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                            Documentation\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs.html\">\n                                            Options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/items.html\">\n                                            Defining menu items\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/plugin-commands.html\">\n                                            Plugin commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/customize.html\">\n                                            Customize icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/font-awesome.html\">\n                                            Font Awesome support\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/runtime-options.html\">\n                                            Runtime options\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/custom-command-types.html\">\n                                            Custom command types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/events.html\">\n                                            Events\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/docs/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                                    <li class=\"toctree-l1 current\">\n                        <a class=\"reference internal \"\n                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                            Demo gallery\n                        </a>\n                                                    <ul>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo.html\">\n                                            Simple Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/fontawesome-icons.html\">\n                                            FontAwesome icons\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/accesskeys.html\">\n                                            Accesskeys\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/async-create.html\">\n                                            Create Context Menu (asynchronous)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/callback.html\">\n                                            Command's action (callbacks)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/custom-command.html\">\n                                            Custom Command Types\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled.html\">\n                                            Disabled Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-callback.html\">\n                                            Disabled Callback Command\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-changing.html\">\n                                            Changing Command's disabled status\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/disabled-menu.html\">\n                                            Disabled Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic.html\">\n                                            Adding new Context Menu Triggers\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/dynamic-create.html\">\n                                            Create Context Menu on demand\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-import.html\">\n                                            Importing HTML5 menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill.html\">\n                                            HTML5 polyfill\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/html5-polyfill-firefox8.html\">\n                                            HTML5 polyfill (Firefox)\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/input.html\">\n                                            Input Commands\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/keeping-contextmenu-open.html\">\n                                            Keeping the context menu open\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/menu-title.html\">\n                                            Menus with titles\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/on-dom-element.html\">\n                                            Context Menu on DOM Element\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/sub-menus.html\">\n                                            Submenus\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-custom.html\">\n                                            Custom Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover.html\">\n                                            Hover Activated Context Menu\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-hover-autohide.html\">\n                                            Hover Activated Context Menu With Autohide\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 \">\n                                        <a class=\"reference internal \"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-left-click.html\">\n                                            Left-Click Trigger\n                                        </a>\n                                    </li>\n                                                                    <li class=\"toctree-l2 current\">\n                                        <a class=\"reference internal current\"\n                                           href=\"https://swisnl.github.io/jQuery-contextMenu/demo/trigger-swipe.html\">\n                                            Swipe Trigger\n                                        </a>\n                                    </li>\n                                                            </ul>\n                                            </li>\n                            </ul>\n            <div class=\"swis-branding\">\n                <span>Maintained by:</span>\n                <a href=\"https://www.swis.nl\"><img src=\"https://swisnl.github.io/jQuery-contextMenu/images/swis-logo.jpg\" class=\"swis-logo\">Creative Digital Agency</a>\n            </div>\n        </div>\n        &nbsp;\n    </nav>\n\n    <section data-toggle=\"wy-nav-shift\" class=\"wy-nav-content-wrap\">\n\n                <nav class=\"wy-nav-top\" role=\"navigation\" aria-label=\"top navigation\">\n            <i data-toggle=\"wy-nav-top\" class=\"fa fa-bars\"></i>\n            <a href=\"https://swisnl.github.io/jQuery-contextMenu/\">jQuery contextMenu</a>\n        </nav>\n\n\n                <div class=\"wy-nav-content\">\n            <div class=\"rst-content\">\n                <div role=\"main\" class=\"document\">\n                                        <a href=\"https://github.com/swisnl/jQuery-contextMenu\" class=\"edit-on-github fa fa-github\"> Fork on GitHub</a>\n                    <h1 id=\"demo-swipe-trigger\">Demo: Swipe Trigger</h1>\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<ul>\n<li><a href=\"#example-code\">Example code</a></li>\n<li><a href=\"#example-html\">Example HTML</a></li>\n</ul>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery.touchswipe/1.6.12/jquery.touchSwipe.min.js\"></script>\n<p>This demo uses the (third party) <a href=\"https://github.com/mattbryson/TouchSwipe-Jquery-Plugin\">TouchSwipe</a> plugin.</p>\n<p><span class=\"context-menu-one btn btn-neutral\">swype right</span></p>\n<h2 id=\"example-code\">Example code</h2>\n<script type=\"text/javascript\" class=\"showcase\">\n$(function(){\n    // make swipe right open the menu\n    $('.context-menu-one').swipe({\n        // see http://labs.skinkers.com/touchSwipe/\n        swipe: function(event, direction, distance, duration, fingerCount) {\n            if (fingerCount === 1) {\n                $(this).contextMenu({\n                    x: event.changedTouches[0].screenX,\n                    y: event.changedTouches[0].screenY,\n                });\n            }\n        }\n    });\n\n    $.contextMenu({\n        selector: '.context-menu-one', \n        trigger: 'none',\n        callback: function(key, options) {\n            var m = \"clicked: \" + key;\n            window.console && console.log(m) || alert(m); \n        },\n        items: {\n            \"edit\": {name: \"Edit\", icon: \"edit\"},\n            \"cut\": {name: \"Cut\", icon: \"cut\"},\n            \"copy\": {name: \"Copy\", icon: \"copy\"},\n            \"fold1a\": {\n                \"name\": \"Some submenu\", \n                \"items\": {\n                    \"fold1a-key1\": {\"name\": \"echo\"},\n                    \"fold1a-key2\": {\"name\": \"foxtrot\"},\n                    \"fold1a-key3\": {\"name\": \"golf\"}\n                }\n            }\n        }\n    });\n});\n</script>\n<h2 id=\"example-html\">Example HTML</h2>\n<div style=\"display:none;\" class=\"showcase\" data-showcase-import=\".context-menu-one\"></div>\n                </div>\n\n                <footer>\n                    <hr/>\n                                            <div role=\"contentinfo\">\n                            <p>\n                                Find jQuery contextMenu on <a href=\"https://github.com/swisnl/jQuery-contextMenu\">GitHub</a>.\n                            </p>\n                        </div>\n                                    </footer>\n\n            </div>\n        </div>\n\n    </section>\n\n</div>\n\n<script src=\"//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js\"></script>\n<script src=\"//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js\"></script>\n<script src=\"https://swisnl.github.io/jQuery-contextMenu/js/theme.js\"></script>\n\n<script>\n    $(function() {\n        hljs.configure({\n            tabReplace: '    ', // 4 spaces\n        });\n        hljs.initHighlightingOnLoad();\n    });\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "test/integration/input.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\nvar text1 = '.context-menu-root input[name=\"context-menu-input-name\"]';\nvar textArea1 = '.context-menu-root textarea[name=\"context-menu-input-area1\"]';\nvar textArea2 = '.context-menu-root textarea[name=\"context-menu-input-area2\"]';\n\nmodule.exports = {\n  'HTML5 input-based menu is shown correctly': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/input.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(14, '14 context menu items are shown')\n      .assert.numberOfElements('.context-menu-root input')\n        .is(6, '6 HTML input items are shown')\n      .assert.width('.context-menu-root').is.gt(100)\n      .done();\n  },\n\n  'HTML5 input-based menu stores state when closed': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/input.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .type(text1, 'lorem ipsum')\n      .type(textArea1, 'test area with height')\n      .type(textArea2, 'shots go off')\n      .execute(helper.closeMenu, '.context-menu-one')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.val(text1, 'lorem ipsum', 'Input text should contain entered text')\n      .assert.val(textArea1, 'test area with height', 'Text area 1 should contain entered text')\n      .assert.val(textArea2, 'shots go off', 'Text area 2 should contain entered text')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/keeping-contextmenu-open.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Ensure context menu is shown': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/keeping-contextmenu-open.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(2, '2 context menu items are shown')\n      .done();\n  },\n\n  'Close context menu after first menu item is clicked': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/keeping-contextmenu-open.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.visible('.context-menu-root li:first-child', 'Menu item is present')\n      .click('.context-menu-root li:first-child')\n      .assert.doesntExist('#context-menu-layer', 'It closes context menu')\n      .done();\n  },\n\n  'Keep context menu open after second menu item is clicked': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/keeping-contextmenu-open.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .wait(100)\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .click('.context-menu-root li:last-child')\n      .assert.exists('#context-menu-layer', 'It closes context menu')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/on-dom-element.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Right-click on multiple DOM elements': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/on-dom-element.html')\n      .execute(helper.rightClick, '#the-node li:first-child')\n      .waitForElement('#context-menu-layer')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.numberOfElements('.context-menu-active')\n        .is(1, 'ensure one context menu is open')\n\n      // right click on the other DOM element\n      .execute(helper.rightClick, '#the-node li:nth-child(3)')\n      .wait(100) // wait for the old menu to close and new to reopen\n      .waitForElement('#context-menu-layer')\n      .assert.exists('.context-menu-root', 'It re-opens the same context menu')\n      .assert.numberOfElements('.context-menu-active')\n        .is(1, 'ensure still only one context menu is open')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/trigger-custom.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Mouse hover opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/trigger-custom.html')\n      .click('#activate-menu')\n      .waitForElement('#context-menu-layer')\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .click('#context-menu-layer')\n      .wait(100)\n      .assert.doesntExist('#context-menu-layer', 'Click outside closes context menu')\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/integration/trigger-left-click.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Left-click opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/test/integration/html/trigger-left-click.html')\n      .click('.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.width('.context-menu-root').is.gt(100)\n      .done();\n  }\n};\n\n"
  },
  {
    "path": "test/integration/trigger-right-click.js",
    "content": "var pwd = process.cwd();\nvar helper = require('../integration_test_helper.js');\n\nmodule.exports = {\n  'Right-click opens context menu': function (test) {\n    test\n      .open('file://' + pwd + '/demo.html')\n      .execute(helper.rightClick, '.context-menu-one')\n      .waitForElement('#context-menu-layer')\n      .assert.visible('.context-menu-root', 'Menu is present')\n      .assert.exists('.context-menu-root', 'It opens context menu')\n      .assert.numberOfElements('.context-menu-root li')\n        .is(7, '7 context menu items are shown')\n      .assert.width('.context-menu-root').is.gt(100)\n      .done();\n  }\n};\n"
  },
  {
    "path": "test/specs/accesskeys.js",
    "content": "var assert = require('assert');\nvar pwd = process.cwd();\ndescribe('Test accesskeys', function() {\n    it('should navigate to submenu 2 levels deep and see correct alert for charlie', function () {\n        browser.url('file://' + pwd + '/test/integration/html/sub-menus.html');\n        browser.rightClick('.context-menu-one');\n        browser.moveToObject('span=Sub group')\n        browser.moveToObject('span=Sub group 2')\n        browser.click('span=charlie')\n        assert.equal(browser.alertText(), 'clicked: fold2-key3');\n        browser.alertAccept();\n    });\n    it('Typing <e> on keyboard triggers \"edit\" menu item callback', function () {\n        browser.url('file://' + pwd + '/test/integration/html/accesskeys.html');\n        browser.rightClick('.context-menu-one');\n        browser.keys('e');\n        assert.equal(browser.alertText(), 'clicked: edit');\n        browser.alertAccept();\n    });\n\n    it('Typing <c> on keyboard triggers \"cut\" menu item callback', function () {\n        browser.url('file://' + pwd + '/test/integration/html/accesskeys.html');\n        browser.rightClick('.context-menu-one');\n        browser.keys('c');\n        assert.equal(browser.alertText(), 'clicked: cut');\n        browser.alertAccept();\n    });\n\n    it('Typing <o> on keyboard triggers \"copy\" menu item callback', function () {\n        browser.url('file://' + pwd + '/test/integration/html/accesskeys.html');\n        browser.rightClick('.context-menu-one');\n        browser.keys('o');\n        assert.equal(browser.alertText(), 'clicked: copy');\n        browser.alertAccept();\n    });\n\n    it('Typing <p> on keyboard triggers \"paste\" menu item callback', function () {\n        browser.url('file://' + pwd + '/test/integration/html/accesskeys.html');\n        browser.rightClick('.context-menu-one');\n        browser.keys('p');\n        assert.equal(browser.alertText(), 'clicked: paste');\n        browser.alertAccept();\n    });\n\n});\n"
  },
  {
    "path": "test/specs/aync-create.js",
    "content": "var assert = require('assert');\nvar pwd = process.cwd();\ndescribe('Test async create', function() {\n    it('should render async created context menu', function () {\n        browser.url('file://' + pwd + '/test/integration/html/async-create.html');\n        browser.rightClick('.context-menu-one');\n        browser.waitForExist('#context-menu-layer');\n        assert.equal(3, browser.elements('.context-menu-root li').value.length);\n    });\n});\n"
  },
  {
    "path": "test/specs/callback.js",
    "content": "var assert = require('assert');\nvar pwd = process.cwd();\n\ndescribe('Test callback', function() {\n  function openCallbackMenu() {\n    browser.url('file://' + pwd + '/test/integration/html/callback.html');\n    browser.rightClick('.context-menu-one');\n    browser.waitForExist('#context-menu-layer');\n    assert.equal(true, browser.isVisible('.context-menu-root'), 'menu is visible');\n  }\n\n  it('Ensure edit menu item triggers callback', function () {\n    openCallbackMenu();\n\n    browser.leftClick('.context-menu-root li:nth-child(1)');\n    assert.equal('edit was clicked', browser.alertText());\n    browser.alertAccept();\n    assert.equal(false, browser.isVisible('£context-menu-layer'), 'menu is hidden');\n  });\n  it('Ensure cut menu item triggers global callback', function () {\n    openCallbackMenu();\n\n    browser.leftClick('.context-menu-root li:nth-child(2)');\n    assert.equal('global: cut', browser.alertText());\n    browser.alertAccept();\n    assert.equal(false, browser.isVisible('£context-menu-layer'), 'menu is hidden');\n  });\n});"
  },
  {
    "path": "test/specs/submenu.js",
    "content": "var assert = require('assert');\nvar pwd = process.cwd();\ndescribe('Test submenus', function() {\n    it('should navigate to submenu 2 levels deep and see correct alert for charlie', function () {\n        browser.url('file://' + pwd + '/test/integration/html/sub-menus.html');\n        browser.rightClick('.context-menu-one');\n        browser.moveToObject('span=Sub group')\n        browser.moveToObject('span=Sub group 2')\n        browser.click('span=charlie')\n        assert.equal(browser.alertText(), 'clicked: fold2-key3');\n        browser.alertAccept();\n    });\n\n    it('should navigate to submenu 2 levels deep and see first menu highlighted', function () {\n        browser.url('file://' + pwd + '/test/integration/html/sub-menus.html');\n        browser.rightClick('.context-menu-one');\n        browser.moveToObject('span=Sub group')\n        browser.moveToObject('span=Sub group 2');\n        var elements = browser.elements('.context-menu-hover');\n        assert.equal(2, elements.value.length);\n    });\n\n});\n"
  },
  {
    "path": "test/unit/contextmenu.test.js",
    "content": "var menuOpenCounter = 0;\nvar menuCloseCounter = 0;\nvar itemSelectedCounter = 0;\nvar itemSelectedStack = [];\nvar menuRuntime = null;\n\nfunction testQUnit(name, itemClickEvent, triggerEvent) {\n  QUnit.module(name, {\n    afterEach: function(){\n      destroyContextMenuAndCleanup();\n    }\n  });\n  // before each test\n  function createContextMenu(items, classname) {\n    if(typeof(classname) == 'undefined'){\n      classname = 'context-menu';\n    }\n    var $fixture = $('#qunit-fixture');\n\n    // ensure `#qunit-fixture` exists when testing with karma runner\n    if ($fixture.length === 0) {\n      $('<div id=\"qunit-fixture\">').appendTo(\"body\");\n      $fixture = $('#qunit-fixture');\n    }\n\n    $fixture.append(\"<div class='\" + classname + \"'>right click me!</div>\");\n\n    if(!items){\n      items = {\n        copy: {name: 'Copy', icon: 'copy'},\n        paste: {name: 'Paste', icon: 'paste'}\n      };\n    }\n\n    $.contextMenu({\n      selector: '.' + classname,\n      events: {\n        show: function(opt) {\n          menuRuntime = opt;\n          menuOpenCounter = menuOpenCounter + 1;\n        },\n        hide: function() {\n          menuCloseCounter = menuCloseCounter + 1;\n        }\n      },\n      callback: function(key, options) {\n        itemSelectedCounter = itemSelectedCounter + 1;\n        itemSelectedStack.push(key);\n      },\n      items: items,\n      itemClickEvent: itemClickEvent\n    });\n  }\n\n  // after each test\n  function destroyContextMenuAndCleanup() {\n    $.contextMenu('destroy');\n\n    // clean up `#qunit-fixture` when testing in karma runner\n    var $fixture = $('#qunit-fixture');\n    if ($fixture.length) {\n      $fixture.html('');\n    }\n\n    // reset vars\n    menuOpenCounter = 0;\n    menuCloseCounter = 0;\n    itemSelectedCounter = 0;\n    itemSelectedStack = [];\n    menuRuntime = null;\n  }\n\n\n\n  QUnit.test('$.contextMenu object exists', function(assert) {\n    assert.ok($.contextMenu, '$.contextMenu plugin is loaded');\n    assert.notEqual($.contextMenu, undefined, '$.contextMenu is not undefined');\n  });\n\n\n  QUnit.test('open contextMenu', function(assert) {\n    createContextMenu();\n    $(\".context-menu\").contextMenu();\n    assert.equal(menuOpenCounter, 1, 'contextMenu was opened once');\n  });\n\n\n  QUnit.test('open contextMenu at 0,0', function(assert) {\n    createContextMenu();\n    $(\".context-menu\").contextMenu({x: 0, y: 0});\n    assert.equal(menuOpenCounter, 1, 'contextMenu was opened once');\n  });\n\n\n  QUnit.test('close contextMenu', function(assert) {\n    createContextMenu();\n    $(\".context-menu\").contextMenu();\n    $(\".context-menu\").contextMenu('hide');\n    assert.equal(menuCloseCounter, 1, 'contextMenu was closed once');\n  });\n\n\n  QUnit.test('navigate contextMenu items', function(assert) {\n    createContextMenu();\n    var itemWasFocused = 0;\n    var itemWasBlurred = 0;\n\n    // listen to focus and blur events\n    $(document.body)\n      .on(\"contextmenu:focus\", \".context-menu-item\", function(e) {\n        itemWasFocused = itemWasFocused + 1;\n      })\n      .on(\"contextmenu:blur\", \".context-menu-item\", function(e) {\n        itemWasBlurred = itemWasBlurred + 1;\n      });\n\n    $(\".context-menu\").contextMenu();\n    menuRuntime.$menu.trigger('nextcommand'); // triggers contextmenu:focus\n    assert.equal(itemWasFocused, 1, 'first menu item was focused once');\n    itemWasFocused = 0;\n\n    menuRuntime.$menu.trigger('nextcommand'); // triggers contextmenu:blur & contextmenu:focus\n    assert.equal(itemWasFocused, 1, 'first menu item was blurred');\n    assert.equal(itemWasBlurred, 1, 'second menu item was focused');\n  });\n\n\n  QUnit.test('activate contextMenu item', function(assert) {\n    createContextMenu();\n    $(\".context-menu\").contextMenu();\n    menuRuntime.$menu.trigger('nextcommand');\n    menuRuntime.$selected.trigger(triggerEvent);\n\n    assert.equal(itemSelectedCounter, 1, 'selected menu item was clicked once');\n  });\n\n  QUnit.test('do not open destroyed context menu', function(assert) {\n    createContextMenu({\n      copy: {name: 'Copy', icon: 'copy'},\n      paste: {name: 'Paste', icon: 'paste'}\n    });\n    createContextMenu({\n      copy: {name: 'Copy', icon: 'copy'},\n      paste: {name: 'Paste', icon: 'paste'}\n    }, 'context-menu-two');\n\n    $(\".context-menu\").contextMenu();\n    $(\".context-menu\").contextMenu('hide');\n    $(\".context-menu-two\").contextMenu();\n    $(\".context-menu-two\").contextMenu('hide');\n\n    assert.equal(menuOpenCounter, 2, 'contextMenu was opened twice');\n\n    $(\".context-menu-two\").contextMenu('destroy');\n\n    $(\".context-menu\").contextMenu();\n    $(\".context-menu\").contextMenu('hide');\n    $(\".context-menu-two\").contextMenu();\n    $(\".context-menu-two\").contextMenu('hide');\n\n    assert.equal(menuOpenCounter, 3, 'destroyed contextMenu was not opened');\n\n  });\n\n  QUnit.test('do not open context menu with no visible items', function(assert) {\n    createContextMenu({\n      copy: {name: 'Copy', icon: 'copy', visible: function(){return false;}},\n      paste: {name: 'Paste', icon: 'paste', visible: function(){return false;}}\n    });\n    $(\".context-menu\").contextMenu();\n\n    assert.equal($('.context-menu-item').is(':visible'), false, 'no menu items visible');\n\n  });\n\n  QUnit.test('visible function should only trigger once', function(assert) {\n    var visibleTriggered = 0;\n    createContextMenu({\n      copy: {name: 'Copy', icon: 'copy', visible: function(){visibleTriggered++; return true;}},\n      paste: {name: 'Paste', icon: 'paste', visible: function(){return false;}}\n    });\n    $(\".context-menu\").contextMenu();\n\n    assert.equal(visibleTriggered, 1, 'selected menu wat not opened');\n  });\n\n  QUnit.test('items in seconds submenu to not override callbacks', function (assert) {\n    var firstCallback = false, firstSubCallback = false, secondSubCallback = false;\n    createContextMenu({\n      firstitem: {\n        name: 'firstitem',\n        icon: 'copy',\n        callback : function(){\n          firstCallback = true;\n        }\n      },\n      firstsubmenu: {\n        name: 'Copy',\n        icon: 'copy',\n        items: {\n          firstitem : {\n            name : \"firstitem\",\n            icon : \"copy\",\n            callback : function(){\n              firstSubCallback = true;\n            }\n          }\n        }\n      },\n      secondsubmenu: {\n        name: 'Copy',\n        icon: 'copy',\n        items: {\n          firstitem : {\n            name : \"firstitem\",\n            icon : \"copy\",\n            callback : function(){\n              secondSubCallback = true;\n            }\n          }\n        }\n      }\n    });\n    $('.context-menu-item').first().trigger(triggerEvent);\n    $('.context-menu-submenu .context-menu-item').each(function(i,e){\n      $(e).trigger(triggerEvent)\n    });\n\n    assert.equal(firstCallback, 1);\n    assert.equal(firstSubCallback, 1);\n    assert.equal(secondSubCallback, 1);\n\n  });\n\n\n    QUnit.test('font-awesome creates icon elements', function(assert) {\n        createContextMenu({\n            copy: {name: 'Copy', icon: 'fas fa-beer'}\n        });\n\n        $(\".context-menu\").contextMenu();\n\n        assert.equal($('i.fas.fa-beer').length, 1, 'FontAwesome <i> tag was not created');\n    });\n}\n\ntestQUnit('contextMenu events', '', 'mouseup');\ntestQUnit('contextMenu events - click handler', 'click', 'click');\n"
  },
  {
    "path": "wdio.conf.js",
    "content": "exports.config = {\n    \n    //\n    // =================\n    // Service Providers\n    // =================\n    // WebdriverIO supports Sauce Labs, Browserstack, and Testing Bot (other cloud providers\n    // should work too though). These services define specific user and key (or access key)\n    // values you need to put in here in order to connect to these services.\n    //\n    user: process.env.SAUCE_USERNAME,\n    key: process.env.SAUCE_ACCESS_KEY,\n\n\n    //\n    // ==================\n    // Specify Test Files\n    // ==================\n    // Define which test specs should run. The pattern is relative to the directory\n    // from which `wdio` was called. Notice that, if you are calling `wdio` from an\n    // NPM script (see https://docs.npmjs.com/cli/run-script) then the current working\n    // directory is where your package.json resides, so `wdio` will be called from there.\n    //\n    specs: [\n        './test/specs/**/*.js'\n    ],\n    // Patterns to exclude.\n    exclude: [\n        // 'path/to/excluded/files'\n    ],\n    //\n    // ============\n    // Capabilities\n    // ============\n    // Define your capabilities here. WebdriverIO can run multiple capabilities at the same\n    // time. Depending on the number of capabilities, WebdriverIO launches several test\n    // sessions. Within your capabilities you can overwrite the spec and exclude options in\n    // order to group specific specs to a specific capability.\n    //\n    // First, you can define how many instances should be started at the same time. Let's\n    // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have\n    // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec\n    // files and you set maxInstances to 10, all spec files will get tested at the same time\n    // and 30 processes will get spawned. The property handles how many capabilities\n    // from the same test should run tests.\n    //\n    maxInstances: 10,\n    //\n    // If you have trouble getting all important capabilities together, check out the\n    // Sauce Labs platform configurator - a great tool to configure your capabilities:\n    // https://docs.saucelabs.com/reference/platforms-configurator\n    //\n    capabilities: [{\n        // maxInstances can get overwritten per capability. So if you have an in-house Selenium\n        // grid with only 5 firefox instance available you can make sure that not more than\n        // 5 instance gets started at a time.\n        maxInstances: 5,\n        //\n        browserName: 'chrome'\n    }],\n    //\n    // ===================\n    // Test Configurations\n    // ===================\n    // Define all options that are relevant for the WebdriverIO instance here\n    //\n    // By default WebdriverIO commands are executed in a synchronous way using\n    // the wdio-sync package. If you still want to run your tests in an async way\n    // e.g. using promises you can set the sync option to false.\n    sync: true,\n    //\n    // Level of logging verbosity: silent | verbose | command | data | result | error\n    logLevel: 'error',\n    //\n    // Enables colors for log output.\n    coloredLogs: true,\n    //\n    // Saves a screenshot to a given path if a command fails.\n    screenshotPath: './errorShots/',\n    //\n    // Set a base URL in order to shorten url command calls. If your url parameter starts\n    // with \"/\", then the base url gets prepended.\n    baseUrl: 'http://localhost',\n    //\n    // Default timeout for all waitFor* commands.\n    waitforTimeout: 10000,\n    //\n    // Default timeout in milliseconds for request\n    // if Selenium Grid doesn't send response\n    connectionRetryTimeout: 90000,\n    //\n    // Default request retries count\n    connectionRetryCount: 3,\n    //\n    // Initialize the browser instance with a WebdriverIO plugin. The object should have the\n    // plugin name as key and the desired plugin options as properties. Make sure you have\n    // the plugin installed before running any tests. The following plugins are currently\n    // available:\n    // WebdriverCSS: https://github.com/webdriverio/webdrivercss\n    // WebdriverRTC: https://github.com/webdriverio/webdriverrtc\n    // Browserevent: https://github.com/webdriverio/browserevent\n    // plugins: {\n    //     webdrivercss: {\n    //         screenshotRoot: 'my-shots',\n    //         failedComparisonsRoot: 'diffs',\n    //         misMatchTolerance: 0.05,\n    //         screenWidth: [320,480,640,1024]\n    //     },\n    //     webdriverrtc: {},\n    //     browserevent: {}\n    // },\n    //\n    // Test runner services\n    // Services take over a specific job you don't want to take care of. They enhance\n    // your test setup with almost no effort. Unlike plugins, they don't add new\n    // commands. Instead, they hook themselves up into the test process.\n    // services: ['selenium-standalone'],\n    services: ['selenium-standalone', 'sauce'],\n    // services: ['sauce'],\n\n    //\n    // Framework you want to run your specs with.\n    // The following are supported: Mocha, Jasmine, and Cucumber\n    // see also: http://webdriver.io/guide/testrunner/frameworks.html\n    //\n    // Make sure you have the wdio adapter package for the specific framework installed\n    // before running any tests.\n    framework: 'mocha',\n    //\n    // Test reporter for stdout.\n    // The only one supported by default is 'dot'\n    // see also: http://webdriver.io/guide/testrunner/reporters.html\n    reporters: ['dot'],\n    \n    //\n    // Options to be passed to Mocha.\n    // See the full list at http://mochajs.org/\n    mochaOpts: {\n        ui: 'bdd'\n    },\n    //\n    // =====\n    // Hooks\n    // =====\n    // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance\n    // it and to build services around it. You can either apply a single function or an array of\n    // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got\n    // resolved to continue.\n    //\n    // Gets executed once before all workers get launched.\n    // onPrepare: function (config, capabilities) {\n    // },\n    //\n    // Gets executed before test execution begins. At this point you can access all global\n    // variables, such as `browser`. It is the perfect place to define custom commands.\n    // before: function (capabilities, specs) {\n    // },\n    //\n    // Hook that gets executed before the suite starts\n    // beforeSuite: function (suite) {\n    // },\n    //\n    // Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling\n    // beforeEach in Mocha)\n    // beforeHook: function () {\n    // },\n    //\n    // Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling\n    // afterEach in Mocha)\n    // afterHook: function () {\n    // },\n    //\n    // Function to be executed before a test (in Mocha/Jasmine) or a step (in Cucumber) starts.\n    // beforeTest: function (test) {\n    // },\n    //\n    // Runs before a WebdriverIO command gets executed.\n    // beforeCommand: function (commandName, args) {\n    // },\n    //\n    // Runs after a WebdriverIO command gets executed\n    // afterCommand: function (commandName, args, result, error) {\n    // },\n    //\n    // Function to be executed after a test (in Mocha/Jasmine) or a step (in Cucumber) starts.\n    // afterTest: function (test) {\n    // },\n    //\n    // Hook that gets executed after the suite has ended\n    // afterSuite: function (suite) {\n    // },\n    //\n    // Gets executed after all tests are done. You still have access to all global variables from\n    // the test.\n    // after: function (result, capabilities, specs) {\n    // },\n    //\n    // Gets executed after all workers got shut down and the process is about to exit. It is not\n    // possible to defer the end of the process using a promise.\n    // onComplete: function(exitCode) {\n    // }\n}\n"
  }
]