mirror of
https://github.com/atom/atom.git
synced 2026-01-25 14:59:03 -05:00
This implements automatic focus management for modal panels using the excellent focus-trap module. Upon being shown, modals will have their first tabbable element automatically focused, and shifting focus with the tab key (or more correctly the core:focus-next command) will be limited to the contents of the modal. If the modal does not have any tabbable elements, focus() will be sent to the panel's root element (if it implements it). I'm happy to update this to *always* calls focus on the panel's root element, but then modal implementers would need to handle that and focus things on their own. I'd argue the tabbable element behavior is more accessible though :) This has the effect of not automatically closing most of Atom's own modals whenever the tab key is pressed, which was an odd nonstandard behavior, IMO. This also automates returning focus to the element that had focus before the modal was shown, something up until now had to be implemented in every modal in Atom. This likely breaks a few contracts for existing Atom packages that create modals, but I've found this doesn't conflict behaviorally with well-behaved modals like the command palette which implement their own focus management (which can be removed if this lands). Released under CC0.
191 lines
5.3 KiB
JSON
191 lines
5.3 KiB
JSON
{
|
|
"name": "atom",
|
|
"productName": "Atom",
|
|
"version": "1.21.0-dev",
|
|
"description": "A hackable text editor for the 21st Century.",
|
|
"main": "./src/main-process/main.js",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/atom/atom.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/atom/atom/issues"
|
|
},
|
|
"license": "MIT",
|
|
"electronVersion": "1.6.9",
|
|
"dependencies": {
|
|
"@atom/source-map-support": "^0.3.4",
|
|
"async": "0.2.6",
|
|
"atom-keymap": "8.2.4",
|
|
"atom-select-list": "^0.1.0",
|
|
"atom-ui": "0.4.1",
|
|
"babel-core": "5.8.38",
|
|
"cached-run-in-this-context": "0.4.1",
|
|
"chai": "3.5.0",
|
|
"chart.js": "^2.3.0",
|
|
"clear-cut": "^2.0.2",
|
|
"coffee-script": "1.11.1",
|
|
"color": "^0.7.3",
|
|
"dedent": "^0.6.0",
|
|
"devtron": "1.3.0",
|
|
"etch": "^0.12.6",
|
|
"event-kit": "^2.3.0",
|
|
"find-parent-dir": "^0.3.0",
|
|
"first-mate": "7.0.7",
|
|
"focus-trap": "^2.3.0",
|
|
"fs-plus": "^3.0.1",
|
|
"fstream": "0.1.24",
|
|
"fuzzaldrin": "^2.1",
|
|
"git-utils": "5.0.0",
|
|
"glob": "^7.1.1",
|
|
"grim": "1.5.0",
|
|
"jasmine-json": "~0.0",
|
|
"jasmine-reporters": "1.1.0",
|
|
"jasmine-tagged": "^1.1.4",
|
|
"key-path-helpers": "^0.4.0",
|
|
"less-cache": "1.1.0",
|
|
"line-top-index": "0.3.1",
|
|
"marked": "^0.3.6",
|
|
"minimatch": "^3.0.3",
|
|
"mocha": "2.5.1",
|
|
"mocha-junit-reporter": "^1.13.0",
|
|
"mocha-multi-reporters": "^1.1.4",
|
|
"mock-spawn": "^0.2.6",
|
|
"normalize-package-data": "^2.0.0",
|
|
"nsfw": "^1.0.15",
|
|
"nslog": "^3",
|
|
"oniguruma": "6.2.1",
|
|
"pathwatcher": "8.0.0",
|
|
"postcss": "5.2.4",
|
|
"postcss-selector-parser": "2.2.1",
|
|
"property-accessors": "^1.1.3",
|
|
"random-words": "0.0.1",
|
|
"resolve": "^1.1.6",
|
|
"runas": "^3.1",
|
|
"scandal": "^3.1.0",
|
|
"scoped-property-store": "^0.17.0",
|
|
"scrollbar-style": "^3.2",
|
|
"season": "^6.0.0",
|
|
"semver": "^4.3.3",
|
|
"service-hub": "^0.7.4",
|
|
"sinon": "1.17.4",
|
|
"temp": "^0.8.3",
|
|
"text-buffer": "13.1.7",
|
|
"typescript-simple": "1.0.0",
|
|
"underscore-plus": "^1.6.6",
|
|
"winreg": "^1.2.1",
|
|
"yargs": "^3.23.0"
|
|
},
|
|
"packageDependencies": {
|
|
"atom-dark-syntax": "0.28.0",
|
|
"atom-dark-ui": "0.53.0",
|
|
"atom-light-syntax": "0.29.0",
|
|
"atom-light-ui": "0.46.0",
|
|
"base16-tomorrow-dark-theme": "1.5.0",
|
|
"base16-tomorrow-light-theme": "1.5.0",
|
|
"one-dark-ui": "1.10.7",
|
|
"one-light-ui": "1.10.7",
|
|
"one-dark-syntax": "1.8.0",
|
|
"one-light-syntax": "1.8.0",
|
|
"solarized-dark-syntax": "1.1.2",
|
|
"solarized-light-syntax": "1.1.2",
|
|
"about": "1.7.6",
|
|
"archive-view": "0.63.3",
|
|
"autocomplete-atom-api": "0.10.2",
|
|
"autocomplete-css": "0.17.2",
|
|
"autocomplete-html": "0.8.0",
|
|
"autocomplete-plus": "2.35.8",
|
|
"autocomplete-snippets": "1.11.1",
|
|
"autoflow": "0.29.0",
|
|
"autosave": "0.24.3",
|
|
"background-tips": "0.27.1",
|
|
"bookmarks": "0.44.4",
|
|
"bracket-matcher": "0.87.3",
|
|
"command-palette": "0.40.4",
|
|
"dalek": "0.2.1",
|
|
"deprecation-cop": "0.56.7",
|
|
"dev-live-reload": "0.47.1",
|
|
"encoding-selector": "0.23.4",
|
|
"exception-reporting": "0.41.4",
|
|
"find-and-replace": "0.210.0",
|
|
"fuzzy-finder": "1.5.8",
|
|
"github": "0.5.0",
|
|
"git-diff": "1.3.6",
|
|
"go-to-line": "0.32.1",
|
|
"grammar-selector": "0.49.5",
|
|
"image-view": "0.62.3",
|
|
"incompatible-packages": "0.27.3",
|
|
"keybinding-resolver": "0.38.0",
|
|
"line-ending-selector": "0.7.3",
|
|
"link": "0.31.3",
|
|
"markdown-preview": "0.159.13",
|
|
"metrics": "1.2.6",
|
|
"notifications": "0.67.2",
|
|
"open-on-github": "1.2.1",
|
|
"package-generator": "1.1.1",
|
|
"settings-view": "0.251.5",
|
|
"snippets": "1.1.4",
|
|
"spell-check": "0.72.0",
|
|
"status-bar": "1.8.11",
|
|
"styleguide": "0.49.6",
|
|
"symbols-view": "0.117.1",
|
|
"tabs": "0.107.0",
|
|
"timecop": "0.36.0",
|
|
"tree-view": "0.217.7",
|
|
"update-package-dependencies": "0.12.0",
|
|
"welcome": "0.36.5",
|
|
"whitespace": "0.37.2",
|
|
"wrap-guide": "0.40.2",
|
|
"language-c": "0.58.1",
|
|
"language-clojure": "0.22.4",
|
|
"language-coffee-script": "0.48.9",
|
|
"language-csharp": "0.14.2",
|
|
"language-css": "0.42.4",
|
|
"language-gfm": "0.90.0",
|
|
"language-git": "0.19.1",
|
|
"language-go": "0.44.2",
|
|
"language-html": "0.47.3",
|
|
"language-hyperlink": "0.16.2",
|
|
"language-java": "0.27.3",
|
|
"language-javascript": "0.127.2",
|
|
"language-json": "0.19.1",
|
|
"language-less": "0.33.0",
|
|
"language-make": "0.22.3",
|
|
"language-mustache": "0.14.1",
|
|
"language-objective-c": "0.15.1",
|
|
"language-perl": "0.37.0",
|
|
"language-php": "0.41.0",
|
|
"language-property-list": "0.9.1",
|
|
"language-python": "0.45.4",
|
|
"language-ruby": "0.71.3",
|
|
"language-ruby-on-rails": "0.25.2",
|
|
"language-sass": "0.61.0",
|
|
"language-shellscript": "0.25.2",
|
|
"language-source": "0.9.0",
|
|
"language-sql": "0.25.8",
|
|
"language-text": "0.7.3",
|
|
"language-todo": "0.29.2",
|
|
"language-toml": "0.18.1",
|
|
"language-typescript": "0.1.0",
|
|
"language-xml": "0.35.2",
|
|
"language-yaml": "0.30.1"
|
|
},
|
|
"private": true,
|
|
"scripts": {
|
|
"preinstall": "node -e 'process.exit(0)'",
|
|
"test": "node script/test"
|
|
},
|
|
"standard": {
|
|
"env": {
|
|
"atomtest": true,
|
|
"browser": true,
|
|
"jasmine": true,
|
|
"node": true
|
|
},
|
|
"globals": [
|
|
"atom",
|
|
"snapshotResult"
|
|
]
|
|
}
|
|
}
|