{
  "manifest": {
    "name": "aria-hidden",
    "version": "1.2.4",
    "description": "Cast aria-hidden to everything, except...",
    "main": "dist/es5/index.js",
    "sideEffects": false,
    "scripts": {
      "test": "jest",
      "dev": "lib-builder dev",
      "test:ci": "jest --runInBand --coverage",
      "build": "lib-builder build && yarn size:report",
      "prepublish": "yarn build",
      "release": "yarn build && yarn test",
      "lint": "lib-builder lint",
      "format": "lib-builder format",
      "size": "npx size-limit",
      "size:report": "npx size-limit --json > .size.json",
      "update": "lib-builder update",
      "prepublish-only": "yarn build && yarn changelog",
      "prepare": "husky install",
      "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
      "changelog:rewrite": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
    },
    "author": {
      "name": "Anton Korzunov",
      "email": "thekashey@gmail.com"
    },
    "license": "MIT",
    "devDependencies": {
      "@theuiteam/lib-builder": "^0.2.1",
      "@size-limit/preset-small-lib": "^2.1.6"
    },
    "engines": {
      "node": ">=10"
    },
    "jsnext:main": "dist/es2015/index.js",
    "module": "dist/es2015/index.js",
    "types": "dist/es5/index.d.ts",
    "files": [
      "dist"
    ],
    "keywords": [
      "DOM",
      "aria",
      "hidden",
      "inert"
    ],
    "homepage": "https://github.com/theKashey/aria-hidden#readme",
    "repository": {
      "type": "git",
      "url": "git+https://github.com/theKashey/aria-hidden.git"
    },
    "dependencies": {
      "tslib": "^2.0.0"
    },
    "module:es2019": "dist/es2019/index.js",
    "lint-staged": {
      "*.{ts,tsx}": [
        "prettier --write",
        "eslint --fix"
      ],
      "*.{js,css,json,md}": [
        "prettier --write"
      ]
    },
    "prettier": {
      "printWidth": 120,
      "trailingComma": "es5",
      "tabWidth": 2,
      "semi": true,
      "singleQuote": true
    },
    "_registry": "npm",
    "_loc": "/homez.1033/heliovt/.cache/yarn/v6/npm-aria-hidden-1.2.4-b78e383fdbc04d05762c78b4a25a501e736c4522-integrity/node_modules/aria-hidden/package.json",
    "readmeFilename": "README.md",
    "readme": "# aria-hidden\n\n[![NPM](https://nodei.co/npm/aria-hidden.png?downloads=true&stars=true)](https://nodei.co/npm/aria-hidden/)\n\nHides from ARIA everything, except provided node(s).\n\nHelps to isolate modal dialogs and focused task - the content will be not accessible using\naccessible tools.\n\nNow with [HTML inert](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert) support\n\n# API\n\nJust call `hideOthers` with DOM-node you want to keep, and it will _hide_ everything else.\n`targetNode` could be placed anywhere - its siblings would be hidden, but it and its parents - not.\n\n> \"hidden\" in terms or `aria-hidden`\n\n```js\nimport { hideOthers } from 'aria-hidden';\n\nconst undo = hideOthers(exceptThisDOMnode);\n// everything else is \"aria-hidden\"\n\n// undo changes\nundo();\n```\n\nyou also may limit the effect spread by providing top level node as a second parameter\n\n```js\n// keep only `anotherNode` node visible in #app\n// the rest of document will be untouched\nhideOthers(anotherNode, document.getElementById('app'));\n```\n\n> `parentNode` defaults to document.body\n\n# Inert\n\nWhile `aria-hidden` played important role in the past and will play in the future - the main\nuse case always was around isolating content and making elements \"transparent\" not only for aria, but for\nuser interaction as well.\n\nThis is why you might consider using `inertOthers`\n\n```tsx\nimport { hideOthers, inertOthers, supportsInert } from 'aria-hidden';\n\n// focus on element mean \"hide others\". Ideally disable interactions\nconst focusOnElement = (node) => (supportsInert() ? inertOthers(node) : hideOthers(node));\n```\n\nthe same function as above is already contructed and exported as\n\n```tsx\nimport { suppressOthers } from 'aria-hidden';\n\nsuppressOthers([keepThisNode, andThis]);\n```\n\n⚠️ Note - inert **will disable any interactions** with _suppressed_ elements ⚠️\n\n### Suppressing interactivity without inert\n\nOne can `marker`, the third argument to a function, to mark hidden elements.\nLater one can create a style matching given marker to apply `pointer-events:none`\n\n```css\n[hidden-node] {\n  pointer-events: none;\n}\n```\n\n```tsx\nhideOthers(notThisOne, undefined /*parent = document*/, 'hidden-node');\n```\n\nGenerally speaking the same can be achieved by addressing `[aria-hidden]` nodes, but\nnot all `aria-hidden` nodes are expected to be non-interactive.\nHence, it's better to separate concerns.\n\n# Inspiration\n\nBased on [smooth-ui](https://github.com/smooth-code/smooth-ui) modal dialogs.\n\n# See also\n\n- [inert](https://github.com/WICG/inert) - The HTML attribute/property to mark parts of the DOM tree as \"inert\".\n- [react-focus-lock](https://github.com/theKashey/react-focus-lock) to lock Focus inside modal.\n- [react-scroll-lock](https://github.com/theKashey/react-scroll-lock) to disable page scroll while modal is opened.\n\n# Size\n\nCode is 30 lines long\n\n# Licence\n\nMIT\n",
    "licenseText": "MIT License\n\nCopyright (c) 2017 Anton Korzunov\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 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,\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 THE\nSOFTWARE.\n"
  },
  "artifacts": [],
  "remote": {
    "resolved": "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522",
    "type": "tarball",
    "reference": "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz",
    "hash": "b78e383fdbc04d05762c78b4a25a501e736c4522",
    "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
    "registry": "npm",
    "packageName": "aria-hidden",
    "cacheIntegrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== sha1-t444P9vATQV2LHi0olpQHnNsRSI="
  },
  "registry": "npm",
  "hash": "b78e383fdbc04d05762c78b4a25a501e736c4522"
}